java吧 关注:1,298,789贴子:12,836,539

我真没招了,有种一拳打棉花上的感觉

只看楼主收藏回复

如题,楼主在java实习,今天开始完成老师给的一个公司之前做的一个工时日志的系统,然后我负责一个页面的性能调优,早上搞的时候耗时20多s才查询完成,然后我一顿操作加索引优化sql语句,然后从20到14再到4s,终于感觉搞完了,然后我想捣鼓一下我到底哪些索引是多余的,结果我把索引删完了,它还是那么快,为什么?我人麻了


IP属地:广东来自Android客户端1楼2026-01-09 18:03回复
    说明不需要索引也可以查询快,20多秒可能查了别的数据耗时多


    IP属地:浙江来自Android客户端2楼2026-01-09 18:15
    回复
      2026-03-06 11:41:55
      广告
      不感兴趣
      开通SVIP免广告
      有缓存


      IP属地:四川来自Android客户端3楼2026-01-09 21:38
      收起回复
        我们面试都是一秒一百万次工资五千,。你这四秒1次工资多少


        IP属地:四川来自Android客户端4楼2026-01-09 23:42
        收起回复
          也许就没走索引


          IP属地:河南来自Android客户端5楼2026-01-10 02:14
          回复
            你用的mysql吗,mysql8.4很聪明的


            IP属地:北京来自Android客户端6楼2026-01-10 06:40
            回复
              4秒?


              IP属地:北京来自Android客户端7楼2026-01-10 08:06
              回复
                有缓存的


                IP属地:广东来自iPhone客户端8楼2026-01-10 08:10
                收起回复
                  2026-03-06 11:35:55
                  广告
                  不感兴趣
                  开通SVIP免广告
                  可能在缓存池里有呢,数据量大的话不走索引会查很久的


                  IP属地:广东来自Android客户端9楼2026-01-10 09:24
                  收起回复
                    有缓存呀,查过一次了


                    IP属地:四川来自iPhone客户端10楼2026-01-10 11:05
                    收起回复
                      这种情况有可能是你单纯的查到缓存了,你加的那些索引其实没啥用


                      IP属地:上海来自Android客户端11楼2026-01-10 12:29
                      回复
                        新手一个很大的误区就是认为索引是万能的。
                        虽然用索引是常见方法但不是唯一方法。
                        应该先分析性能问题的关键耗时是什么造成的,然后进行针对性优化。


                        IP属地:四川来自Android客户端12楼2026-01-10 15:01
                        回复
                          有没有可能是查到缓存去了,在服务器上echo 3清下缓存,再去sql


                          IP属地:广东来自Android客户端13楼2026-01-10 23:19
                          收起回复
                            直接explain就行了


                            IP属地:广东来自Android客户端14楼2026-01-11 21:18
                            回复
                              2026-03-06 11:29:55
                              广告
                              不感兴趣
                              开通SVIP免广告
                              建立索引的过程中,会排序,本身就会优化数据存储,但会占用其他空间,哪怕你删除了,这个空间不一定会释放,当没有数据变更的时候,你建立索引之后,删除,它查询的是缓存
                              所以,你可以用explain看看有索引和没索引查询的条件是否一样,或者有索引相关的列发生变化之后在查询看看


                              IP属地:四川15楼2026-01-12 14:05
                              回复