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

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

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

前言

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

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

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

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

優(yōu)化為

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

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

三、使用 LIKE 時(shí),避免使用 %%

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

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

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

select * from t where 1 limit 100000,10

優(yōu)化為

select * from t where id between 100000 and 100010

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

八、避免使用 NULL

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

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

總結(jié)

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

相關(guān)文章

  • MySQL UPDATE更新語句精解

    MySQL UPDATE更新語句精解

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

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

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

    詳解MySQL到SelectDB的實(shí)時(shí)同步策略

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

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

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

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

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

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

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

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

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

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

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

    MySQL5.7 group by新特性報(bào)錯(cuò)1055的解決辦法

    項(xiàng)目中本來使用的是mysql5.6進(jìn)行開發(fā),切換到5.7之后,突然發(fā)現(xiàn)原來的一些sql運(yùn)行都報(bào)錯(cuò),錯(cuò)誤編碼1055,錯(cuò)誤信息和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ū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論