解决方案 »

  1.   

    1、每次运行都使用SQL_NO_CACHE ?
    第1次:SELECT SQL_NO_CACHE 
    第2次:SELECT SQL_NO_CACHE 
    2、NO有几种值?
    3、4:ID、NO、`add_time`上建立复合索引没有
    5、
    SELECT  NO,add_time FROM mytype  
    GROUP BY 
    NO,add_time
    ORDER BY NO DESC
    6、一般是建立复合索引,反复调试,比较烦索优化不是一、两话讲得清楚的,建议看看高性能MySQL(第3版) 
      

  2.   

    1、每次都有用,但是还是不行
    2、no是int类型,我自增加了数据,应该有 1到70万
    3、4、建立了组合索引。
    现在正在努力的学习MySQL的优化,就是在建立索引方面有点糊涂,不知道在什么情况下会选择哪个索引,而对于一些复杂的where查询,总觉得一条索引无法解决
      

  3.   

    问题一  数据都缓存到内存了  和query_cache没半点关系
      

  4.   

    100分问一堆问题,你值了。1)你说的第一次是指MYSQL重启后的第一次,还是什么?
    如果用了sql_no_cache,那肯定不会去QUERY CACHE里去数据了。
    如果是MYSQL重启了,可以理解为第一次从磁盘读数据,后面的是从内存读数据,这个区别很大。
      

  5.   

    问题一:禁止查询自动缓存的方法
    show profiles 看一下每次执行的动作。问题二:为什么设置了索引,但使用>的时候却没有使用索引了?
    假设表1中A列为1-10的数字并有索引在A列, 当做查询where a>=1 此时还有谁认为应该使用索引?问题太多了,看得眼花,并且如果真的打算详细了解优化方面的东西,则建议先看一下 《数据库系统概论(第四版)》 王珊 萨师煊   高等教育出版社 中的查询优化,专门讲了一章。然后再看MYSQL官方手册中的“优化”那个章节。
      

  6.   

    1.我不明白你要为什么要禁止止查询缓存!
    2.在使用>时,不使用索引,那是不是查出来的结果和表的总数据差不多,如果是,那就是mysql认为此时按索引会更慢,故放弃了使用索引,当然你可以让它强制使用索引 FORCE INDE(索引名)!
    3.or是不好优化的,而且还是不同的字段,建议你尝试建一个联合索引看看!
    4.union会把所有的表连接起来查询,怎么会比or快呢!个人觉得union会比all慢!
    5.order by 应该需要与where一起用,我现在也在纠结这个问题!
    6.来自不同的表,最好不要这样做,这样肯定不会用索引!如果一个字段asc另一个desc,这样mysql是不会使用索引的,哪怕你强制使用索引也没用!
      

  7.   

    首先感觉你的解答,然后:
    1.禁止查询缓存是想测试某条SQL语句第一次执行的速度。
    因为遇到的项目有个问题就是:第一次查询很慢,但之后都快,想要优化第一次查询的速度。
    自己设了几条SQL语句,结果都只可以实验一次,而且还不能确定前一条语句是否对测试中的语句产生影响,这样很不方便4这个主要是从网上看到的,说使用union代替or会快,因为union能用到索引,而or不能。我跑去测试到的结果却相反了,所以想知道为什么- -!
    后来测试发现:or也不是绝对不用索引的,只要谨慎点[每个or条件都具有索引,而且满足索引使用情况],也可以用到联合索引6.确实不好,但如果需要使用到的时候也没办法。
    我测试过,如果不同的表的字段放一起,那个group by和order by都不会用上索引,但如果where和left join上有索引,且符合条件的时候,mySQL会使用索引获取数据,然后再分组,最后排序。
    现在用到这种排序的时候,只能通过减少数据量来加快访问的速度,但治标不治本,苦恼
      

  8.   

    在查询时使用mysql函数,mysql就不会启用查询缓存了!我不知道该怎么去禁止它!
    or的话,可能后面跟的条值少一些有到吧,我感觉in就是这样,如果值太多,就放弃使用了索引!
    排序使用文件排序是最慢的,而且IO次数又多!要想提高查询速度,这必须要避免的啊!既然没办法,也快不了那里去啊!
      

  9.   

    MySQL有什么既不会影响数据,亦不会影响查询速度的方法?
      

  10.   

    我想这应该没办法吧,数据库的实现原理就是文件的操作,对文件进行CRUD,查询慢就是因为数据量大,IO次数多!排序如果不使用索引的话,这不又是一次文件操作吗?