跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 碰到的查询的疑问
未分類
31 1 月 2021

碰到的查询的疑问

碰到的查询的疑问

資深大佬 : wuxi889 6

今天在做查询优化时,碰到了一个问题:百万级别的索引查询时,SELECT id(主键) 与 SELECT session_id(普通索引) 的查询速度差了一大截,EXPLAIN 的剖析结果两条查询语句是一致的。

SQL1 SELECT id FROM table WHERE path_type=’products’; // 耗时 0.5s 左右

SQL2 SELECT session_id FROM table WHERE path_type=’products’; // 耗时 7s 左右

EXPLAIN 两个 SQL 相同 1 SIMPLE statistics_page_visits ref statistics_page_visits_path_type_index statistics_page_visits_path_type_index 1023 const 1144028 100.00 Using index

请问造成以上结果的原因是什么 @_@ 晕乎

大佬有話說 (10)

  • 資深大佬 : zoharSoul

    session_id 要回表

  • 資深大佬 : tokyo2020

    应该是索引有关? 1,主键就直接返回了 2,session_id 还需要再找到 session_id 的位置再返回 ?

  • 主 資深大佬 : wuxi889

    @zoharSoul session_id 作为索引也需要回表吗?

  • 資深大佬 : fhsan

    什么是回表查询?
    什么是索引覆盖?
    如何实现索引覆盖?

  • 資深大佬 : chendy

    这么离谱的差距…
    盲猜 id 是个数字,session_id 是个挺长的字符串,查询返回的数据量又大,网络瓶颈导致等了那么久……

  • 資深大佬 : zoharSoul

    @wuxi889 除非 session_id 和 path_type 在一个联合索引上…

  • 資深大佬 : fengpan567

    id 是也有聚簇索引的,不用回表查询

  • 資深大佬 : geekzhu

    session_id 和 path_type 是一个索引吗

  • 資深大佬 : Hurriance

    主可以贴一下 table 的 DDL

  • 資深大佬 : zhangysh1995

    贴 show create table

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具