久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價!!!
當前位置:主頁 > SEO優化 > MySQL 通過索引優化含ORDER BY的語句SEO優化

MySQL 通過索引優化含ORDER BY的語句SEO優化

時間:2023-05-24 07:05:24 閱讀: 文章分類: SEO優化 作者: 網站編輯員

導讀:2SEO優化合理的建立索引能夠加速數據讀取效率,不合理的建立索引反而會拖慢數據庫的響應速度。 關于建立索引的幾個準則: 1、合理的建立索引能夠加速數據讀取效率,不合理的建立建設網站網站建設。

建設網站網站建設合理的建立索引能夠加速數據讀取效率,不合理的建立索引反而會拖慢數據庫的響應速度。   關于建立索引的幾個準則:   1、合理的建立索引能夠加速數據讀取效網站建設制作率,不合理的建立索引反而會拖慢數據庫的響應速度。   2、索引越多,更新數據的速度越慢。   3、盡量在采用MyIsam作為引擎的時候使用索引(因為MySQL以BTree存儲索引),而不是InnoDB。但MyISAM不支持Transcation。   4、當你的程序和數據庫結構/SQL語句已經優化到無法優化的程度,而程序瓶頸并不能順利解決,那就是應該考慮使用諸如memcached這樣的分布式緩存系統的時候了。   5、習慣和強迫自己用EXPLAIN來分析你SQL語句的性能。   一個很容易犯的錯誤:   不要在選擇的欄位上放置索引,這是無意義的。應該在條件選擇的語句上合理的放置索引,比如where,order by。   例子:   SELECT id,title,content,cat_id FROM article WHERE cat_id = 1;   上面這個語句,你在id/title/content上放置索引是毫無意義的,對這個語句沒有任何優化作用。但是如果你在外鍵cat_id上放置一個索引,那作用就相當大了。   幾個常用ORDER BY語句的MySQL優化:   1、ORDER BY + LIMIT組合的索引優化。如果一個SQL語句形如:       SELECT [column1],[column2],.... FROM [TABLE] ORDER BY [sort] LIMIT [offset],[LIMIT];     這個SQL語句優化比較簡單,在[sort]這個欄位上建立索引即可。   2、WHERE + ORDER BY + LIMIT組合的索引優化,形如:       SELECT [column1],[column2],.... FROM [TABLE] WHERE [columnX] = [value] ORDER BY [sort] LIMIT[offset],[LIMIT];     這個語句,如果你仍然采用第一個例子中建立索引的方法,雖然可以用到索引,但是效率不高。更高效的方法是建立一個聯合索引(columnX,sort)   3、WHERE + IN + ORDER BY + LIMIT組合的索引優化,形如:       SELECT [column1],[c網站推廣優化seoolumn2],.... FROM [TABLE] WHERE [columnX] IN ([value1],[value2],...) ORDER BY[sort] LIMIT [offset],[LIMIT];     這個語句如果你采用第二個例子中建立索引的方法,會得不到預期的效果(僅在[sort]上是using index,WHERE那里是using where;using filesort),理由是這里對應columnX的值對應多個。   這個語句怎么優化呢?我暫時沒有想到什么好的辦法,看到網上有便宜提供的辦法,那就是將這個語句用UNION分拆,然后建立第二個網站建設例子中的索引:       SELECT [column1],[column2],.... FROM [TABLE] WHERE [columnX]=[value1] ORDER BY [sort] LIMIT[offset],[LIMIT] UNION SELECT [column1],[column2],.... FROM [TABLE] WHERE [columnX]=[value2] ORDER BY [sort] LIMIT[offset],[LIMIT] UNION ……     但經驗證,這個方法根本行不通,效率反而更低,測試時對于大部分應用強制指定使用排序索引效果更好點   4、不要再WHERE和ORDER BY的欄位上應用表達式(函數),比如:       SELECT * FROM [table] ORDER BY YEAR(date) LIMIT 0,30;     5、WHERE+ORDER BY多個欄位+LIMIT,比如       SELECT * FROM [table] WHERE uid=1 ORDER x,y LIMIT 0,10;     對于這個語句,大家可能是加一個這樣的索引(x,y,uid)。但實際上更好的效果是(uid,x,y)。這是由MySQL處理排序的機制造成的。   以上例子你在實際項目中應用的時候,不要忘記在添加索引后,用EXPLAIN看看效果。相關建設網站網站建設。

關鍵詞標簽: 索引 SQL 語句

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-24 ,文章MySQL 通過索引優化含ORDER BY的語句SEO優化主要講述語句,索引,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/seo_6296.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 永兴县| 林州市| 保德县| 玉门市| 北辰区| 东丽区| 台安县| 白玉县| 建平县| 攀枝花市| 高淳县| 龙里县| 辛集市| 微山县| 达州市| 伊通| 疏勒县| 密山市| 高安市| 广元市| 陆良县| 镇远县| 平远县| 雷山县| 湘潭市| 南乐县| 诸暨市| 定兴县| 油尖旺区| 都兰县| 湖南省| 淄博市| 出国| 宣威市| 东宁县| 吉木乃县| 蓬莱市| 武定县| 牡丹江市| 武汉市| 东乡族自治县|