如何使用索引表来提高性能?

时间:2014-04-29 19:13:32

标签: mysql performance indexing

我听说索引可以让搜索速度更快但实际上有更新的经验。我有一个在列上编制索引的表。现在我该如何运行查询以便我充分利用这个索引并更快地获得查询?

我的查询当前是索引表:

String getFS = "select * from TABLEname where number="+MobNum;

没有特别的性能提升或任何事情。我使用索引错了吗?

这是我的表结构

CREATE TABLE `VPN_UserInformation` (

   `id` varchar(20) CHARACTER SET utf8 NOT NULL,
  `number` varchar(30) CHARACTER SET utf8 NOT NULL DEFAULT '000000000000000000000',

  PRIMARY KEY (`id`),
  KEY `number` (`number`),

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

1 个答案:

答案 0 :(得分:0)

是的,索引肯定会提高查​​询性能,但有一些隐藏的东西

  1. 整数列上的索引比varchar列上的索引快得多(您的情况) 如果可能的话,你可以尝试将数字列号(我不假设的数字)作为整数或bigint进行测试,并测试大尺寸有无索引的性能

  2. 而不是使用*,只编写将在您进一步处理中使用的必需列,如果您在该表中不仅仅是id和phone no(这是最佳做法并且会提高性能)

  3. 运行reorg和runstats以确保testplan正在使用索引并且不存在碎片。