我听说索引可以使搜索速度更快,但新人实际上已经经历过这一点。我有一个在列上建立索引的表。现在我应该如何运行查询,以便充分利用此索引并更快地获得查询?
我当前对索引表的查询:
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;
最佳答案
是的,索引肯定会提高查询性能,但有一些隐藏的东西
整数列上的索引比 varchar 列上的索引快得多(您的情况) 如果可能的话,您可以尝试将数字列(我假设是移动设备)设置为整数或bigint,并测试带或不带大尺寸索引的性能
如果该表中不仅仅是 ID 和电话号码,请仅写入将在进一步处理中使用的必需列,而不是使用 *(这是最佳实践,将提高性能)
运行 reorg 和 runstats 以确保测试计划正在使用索引并且不存在碎片。
关于mysql - 如何使用索引表以获得更快的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23373340/