网站黄色在线观看视频,男人和女人操逼有免费的视频吗2018高清,91熟女丨老女人丨高潮丰满,丝袜高潮流白浆潮喷在线播放

聯(lián)系我們

400-002-9968

售前咨詢

售后服務(wù)

注冊(cè) 登錄

博客 > SQL知識(shí):常用的SQL優(yōu)化小技巧

SQL知識(shí):常用的SQL優(yōu)化小技巧

  • 標(biāo)簽:
  • SQL
  • SQL語(yǔ)句
  • SQL索引
  • SQL字段

瀏覽量:1179次評(píng)論:0次

作者:銳成網(wǎng)絡(luò)整理時(shí)間:2024-07-25 16:06:17

在當(dāng)今大數(shù)據(jù)時(shí)代,隨著數(shù)據(jù)量的不斷增加,如何有效地進(jìn)行SQL語(yǔ)句優(yōu)化,以保證數(shù)據(jù)的快速處理與獲取,已經(jīng)成為每一位數(shù)據(jù)庫(kù)管理員和開發(fā)者必須重視的問題。下面是一些常用的SQL優(yōu)化小技巧,可以從字段、索引以及查詢SQL語(yǔ)句等多方面進(jìn)行優(yōu)化,以下是全部?jī)?nèi)容,僅供大家參考。

SQL知識(shí):常用的SQL優(yōu)化小技巧

1、字段

盡量使用TINYINT、SMALLINT、MEDIUM_INT作為整數(shù)類型而非INT,如果非負(fù)則加上UNSIGNED;

VARCHAR的長(zhǎng)度只分配真正需要的空間;

使用枚舉或整數(shù)代替字符串類型;

盡量使用TIMESTAMP而非DATETIME;

單表不要有太多字段,建議在20以內(nèi);

避免使用NULL字段,很難查詢優(yōu)化且占用額外索引空間;

用整型來(lái)存IP。

2、索引

索引并不是越多越好,要根據(jù)查詢有針對(duì)性的創(chuàng)建,考慮在WHERE和ORDER BY命令上涉及的列建立索引,可根據(jù)EXPLAIN來(lái)查看是否用了索引還是全表掃描;

應(yīng)盡量避免在WHERE子句中對(duì)字段進(jìn)行NULL值判斷,否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描;

值分布很稀少的字段不適合建索引,例如“性別”這種只有兩三個(gè)值的字段;

字符字段只建前綴索引;

字符字段最好不要做主鍵;

不用外鍵,由程序保證約束;

盡量不用UNIQUE,由程序保證約束;

使用多列索引時(shí)主意順序和查詢條件保持一致,同時(shí)刪除不必要的單列索引。

3、查詢SQL

可通過開啟慢查詢?nèi)罩緛?lái)找出較慢的SQL;

不做列運(yùn)算:SELECT id WHERE age + 1 = 10,任何對(duì)列的操作都將導(dǎo)致表掃描,它包括數(shù)據(jù)庫(kù)教程函數(shù)、計(jì)算表達(dá)式等等,查詢時(shí)要盡可能將操作移至等號(hào)右邊;

sql語(yǔ)句盡可能簡(jiǎn)單:一條sql只能在一個(gè)cpu運(yùn)算;大語(yǔ)句拆小語(yǔ)句,減少鎖時(shí)間;一條大sql可以堵死整個(gè)庫(kù);

不用SELECT *;

OR改寫成IN:OR的效率是n級(jí)別,IN的效率是log(n)級(jí)別,IN的個(gè)數(shù)建議控制在200以內(nèi);

不用函數(shù)和觸發(fā)器,在應(yīng)用程序?qū)崿F(xiàn);

避免%xxx式查詢;

少用JOIN;

使用同類型進(jìn)行比較,比如用'123'和'123'比,123和123比;

盡量避免在WHERE子句中使用!=或<>操作符,否則將引擎放棄使用索引而進(jìn)行全表掃描;

對(duì)于連續(xù)數(shù)值,使用BETWEEN不用IN:SELECT id FROM t WHERE num BETWEEN 1 AND 5;

列表數(shù)據(jù)不要拿全表,要使用LIMIT來(lái)分頁(yè),每頁(yè)數(shù)量也不要太大。

重要聲明:本文來(lái)自SQL數(shù)據(jù)庫(kù)開發(fā),經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有,不代表銳成觀點(diǎn),轉(zhuǎn)載的目的在于傳遞更多知識(shí)和信息。

我的評(píng)論

還未登錄?點(diǎn)擊登錄

微信掃碼溝通
微信掃碼溝通

微信掃碼溝通

AI
return head