mysql错误检讨

 Q1:代码占用时间过长的原因

   ① 在中兴项目里面,我加入了一行select count(distinct(BILL_ID)) from cell_update

   这一行“废物”代码占用了绝大部分程序运行时间,使得程序运行时间加长特别多。

 

   ②  链接数据库”这一步会耗费大量时间。建议不要加入到循环中去

 

   ③  为什么某些代码运行时间比较短,有些代码运行时间过长。有可能是索引未建立完全。

     具体原理看这个:http://blog.csdn.net/yunhua_lee/article/details/8573621

     但是实际原因就是索引没有建立完全。

    ④  如果sql语言中,带有无法建立索引的模块,处理大数据就会非常慢。我在cell_update中放入了新的表,提取用户的“天数小时”信息,最后每一条的查询速度由几百毫秒降低到了几毫秒

    ⑤ 有时候建立联合索引比建立单独索引快

Q2:mysql中的陷阱:

   ① “mysql中的limit“的陷阱:”limit"只负责将查询结果返回特定的行数。比如说有一个10000000的数据集,我们进行select count(*) from xxx limit 0,1000,这个语      句不会返回1000,而是返回10000000.因为limit只是“将结果中的某几个返回”。我们的结果只有一条:1000000000,所以只会返回这个。

 

   ② select * from table where id in (select id from table limit 10) 无法执行
    但是,只要你再来一层就行。。如: 
    select * from table where id in (select t.id from (select * from table limit 10)as t) 

posted @ 2014-10-21 15:01  减肥的胖子1992  阅读(119)  评论(0编辑  收藏  举报