欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql中基本語句優(yōu)化的十個原則小結(jié)

 更新時間:2017年06月06日 11:15:31   作者:Enda  
這篇文章主要給大家總結(jié)介紹了Mysql中基本語句優(yōu)化的十個原則,通過學(xué)習(xí)與記住它們,在構(gòu)造sql時可以養(yǎng)成良好的習(xí)慣,文中介紹的相對比較詳細與簡單明了,需要的朋友們可以參考借鑒,下面來一起看看吧。

前言

在數(shù)據(jù)庫的應(yīng)用中,程序員們通過不斷的實踐總結(jié)了很多經(jīng)驗,這些經(jīng)驗是一些普遍的適用規(guī)則,每一個程序員都應(yīng)該了解并記住它們,在構(gòu)造sql時,養(yǎng)成良好的習(xí)慣,下面話不多說,來看看詳細的介紹:

mysql基本語句優(yōu)化原則

一、盡量避免在列上運算,這樣會導(dǎo)致索引失效

select * from t where YEAR(d) >= 2011;

優(yōu)化為

select * from t where d >='2011-0101'

二、使用 JOIN 時,應(yīng)該用小結(jié)果集驅(qū)動大結(jié)果集,同時把復(fù)雜的 JOIN 查詢拆分成多個query,因為 JOIN 多個表,可能導(dǎo)致更多的鎖定和堵塞

三、使用 LIKE 時,避免使用 %%

四、select 指定查詢字段,不要全查出來,節(jié)省內(nèi)存

五、使用批量插入語句節(jié)省交互

六、limit的基數(shù)比較大時,使用 between,between 限定比 limit 快,但是between也有缺陷,如果id中間有斷行或是中間部分id不讀取的情況,數(shù)據(jù)會少

select * from t where 1 limit 100000,10

優(yōu)化為

select * from t where id between 100000 and 100010

七、不要使用 rand 函數(shù)取多條隨機記錄

八、避免使用 NULL

九、不要使用 count(id) , 而應(yīng)該是 count(*)

十、不要做無謂的排序操作,而應(yīng)盡可能在索引中完成排序

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • MySQL UPDATE更新語句精解

    MySQL UPDATE更新語句精解

    mysql update命令的一些詳細用法分析,真是不錯的好東西,建議大家看看。
    2009-03-03
  • pymysql.err.DataError:(1264, ")異常的有效解決方法(最新推薦)

    pymysql.err.DataError:(1264, ")異常的有效解決方法(最新推薦)

    遇到pymysql.err.DataError錯誤時,錯誤代碼1264通常指的是MySQL數(shù)據(jù)庫中的Out of range value for column錯誤,這意味著你嘗試插入或更新的數(shù)據(jù)超過了對應(yīng)數(shù)據(jù)庫列所允許的范圍,這篇文章主要介紹了pymysql.err.DataError:(1264, ")異常的有效問題,需要的朋友可以參考下
    2024-05-05
  • 詳解MySQL到SelectDB的實時同步策略

    詳解MySQL到SelectDB的實時同步策略

    MySQL?到?SelectDB?的實時數(shù)據(jù)同步技術(shù),通過?NineData?的數(shù)據(jù)復(fù)制控制臺,僅需輕點鼠標(biāo),即可輕松完成?MySQL?到?SelectDB?的同步任務(wù)配置,這篇文章主要介紹了MySQL到SelectDB的實時同步策略,需要的朋友可以參考下
    2023-09-09
  • 解析數(shù)據(jù)庫分頁的兩種方法對比(row_number()over()和top的對比)

    解析數(shù)據(jù)庫分頁的兩種方法對比(row_number()over()和top的對比)

    本篇文章是對數(shù)據(jù)庫分頁的兩種方法對比(row_number()over()和top的對比)進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • MySQL中in與exists的使用及區(qū)別介紹

    MySQL中in與exists的使用及區(qū)別介紹

    這篇文章主要介紹了MySQL中in與exists的使用及區(qū)別介紹,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-12-12
  • mysql查詢語句join、on、where的執(zhí)行順序

    mysql查詢語句join、on、where的執(zhí)行順序

    這篇文章主要介紹了mysql查詢語句join、on、where的執(zhí)行順序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Mysql數(shù)據(jù)庫分庫和分表方式(常用)

    Mysql數(shù)據(jù)庫分庫和分表方式(常用)

    本文主要給大家介紹Mysql數(shù)據(jù)庫分庫和分表方式(常用),涉及到mysql數(shù)據(jù)庫相關(guān)知識,對mysql數(shù)據(jù)庫分庫分表相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-03-03
  • mysql update case 更新字段值不固定的操作

    mysql update case 更新字段值不固定的操作

    這篇文章主要介紹了mysql update case 更新字段值不固定的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • MySQL5.7 group by新特性報錯1055的解決辦法

    MySQL5.7 group by新特性報錯1055的解決辦法

    項目中本來使用的是mysql5.6進行開發(fā),切換到5.7之后,突然發(fā)現(xiàn)原來的一些sql運行都報錯,錯誤編碼1055,錯誤信息和sql_mode中的“only_full_group_by“有關(guān)。下面小編給大家分享下解決辦法
    2016-12-12
  • 一文搞清楚MySQL count(*)、count(1)、count(col)區(qū)別

    一文搞清楚MySQL count(*)、count(1)、count(col)區(qū)別

    本文主要介紹了MySQL count(*)、count(1)、count(col)區(qū)別,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論