日期:2014-05-16  浏览次数:20660 次

查询语句的优化
测试中有100万条数据, 就一个表:

create table user
  (idx int ,
  id varchar(63) not null,
  passwd varchar(63) not null,

primary key(idx),
unique(id));

测试遍历查询一次所有的数据(据 idx 来查), 如 select * from user where idx = 2; 现在所需时间是 120 秒左右. 为什么时间会这么长呢? 我看了下, 数据库的大小只有 50M 左右. 我尝试把 user 表分成 10 个,20 个表, (据 idx % 10, idx % 20 来分), 发现几乎没什么效果. 还有其它优化方法不?

------解决方案--------------------
lz,要是是因为你程序的循环使得执行速度慢,那是你程序的问题,和sql的优化一点关系都没有。

你优化的应该是程序吧,随便执行个要有100万次的查询都要百秒以上啦。

你有几十万记录录入?

你直接在mysql只执行一条select * from user where idx = 2的时间是多久啊? 


你的需求我实在搞不懂。