我听说索引可以让搜索速度更快但实际上有更新的经验。我有一个在列上编制索引的表。现在我该如何运行查询以便我充分利用这个索引并更快地获得查询?
我的查询当前是索引表:
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;
答案 0 :(得分:0)
是的,索引肯定会提高查询性能,但有一些隐藏的东西
整数列上的索引比varchar列上的索引快得多(您的情况) 如果可能的话,你可以尝试将数字列号(我不假设的数字)作为整数或bigint进行测试,并测试大尺寸有无索引的性能
而不是使用*,只编写将在您进一步处理中使用的必需列,如果您在该表中不仅仅是id和phone no(这是最佳做法并且会提高性能)
运行reorg和runstats以确保testplan正在使用索引并且不存在碎片。