国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > mysql 不加條件查詢速度挺快,加上過濾條件就特別慢是為什么?

mysql 不加條件查詢速度挺快,加上過濾條件就特別慢是為什么?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-13 15:18:26 1697181506

一、mysql 不加條件查詢速度挺快,加上過濾條件就特別慢是為什么

不加條件查詢,如果是自增主鍵的話,會順序讀盤,順序讀取磁盤數(shù)據(jù)的話,速度可以很快;添加過濾條件后,如果過濾條件不走索引,數(shù)據(jù)可能會隨機(jī)讀取,所以性能沒有順序讀取速度快。

舉個例子:

有一個放了很多五顏六色珠子的箱子,你從中拿10個珠子只需要抓一把數(shù)一下就可以了,但是如果讓你拿10個紅色的珠子呢?當(dāng)然就慢了。

而如果按照顏色拿珠子是經(jīng)常要做的事情,那么,怎么樣才能提高效率,加快速度呢?把箱子里分成一格一格,每個格子擺一個顏色的珠子,這樣不就快了嗎?當(dāng)然,在往箱子里放珠子的時候需要按照顏色擺放。這一格一格對應(yīng)到數(shù)據(jù)庫就是索引。

再擴(kuò)展一下,如果你是賣小商品的,你有很多種商品,但你的箱子數(shù)量是有限的,如果每樣商品放一個箱子,那么箱子數(shù)量不夠,如果無規(guī)律擺放,有空檔就塞進(jìn)去,那么找起來就麻煩了,那么怎么去做呢?估算每樣商品的數(shù)量,然后一號箱子放a,b,c三樣物品,二號箱子放d,e兩件物品,等等,這樣再查找物品時,就不需要每個箱子每個箱子的查找。那么,箱子對應(yīng)到數(shù)據(jù)庫其實就是表空間。

延伸閱讀:

二、聲明式與命令式

命令式(Imperative)和聲明式(Declarative)是很早就有的概念,比如 SQL、HTML、CSS 是典型的聲明式語言,而我們使用的絕大部分編程語言都是命令式的。

命令式編程就像它的名字一樣,它由開發(fā)者我們一步一步的告述計算機(jī),執(zhí)行一系列的操作,然后得到想要的結(jié)果,起主要作用的是開發(fā)者,計算機(jī)只是幫助開發(fā)者執(zhí)行計算而已。

而聲明式編程卻與此相反,它不是告述計算機(jī)做什么做,而是直接告述計算它想要的結(jié)果,至于怎么做,由預(yù)先寫好的程序依據(jù)一定的算法由計算機(jī)自動推算出來。

聲明式與命令式的主要區(qū)別在于,聲明式描述的是結(jié)果,它不關(guān)心過程。比如 SQL,我們告述數(shù)據(jù)庫的是,我們要查詢某張表滿足某某條件的數(shù)據(jù),但我們并不會告述數(shù)據(jù)庫怎么去查,怎么查數(shù)據(jù)是數(shù)據(jù)庫系統(tǒng)自己關(guān)心的事情。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
數(shù)據(jù)庫中關(guān)系代數(shù)與關(guān)系運算的區(qū)別是什么?

一、數(shù)據(jù)庫中關(guān)系代數(shù)與關(guān)系運算的區(qū)別關(guān)系代數(shù)可以理解為一種抽象的查詢語言,它用對關(guān)系的運算來表達(dá)查詢。運算對象、運算符、運算結(jié)果是運算...詳情>>

2023-10-13 17:00:59
如何建立數(shù)據(jù)庫,利用什么軟件建立數(shù)據(jù)庫?

一、如何建立數(shù)據(jù)庫CREATE DATABASE:MySQL語法示例應(yīng)該提到的在MySQL中創(chuàng)建數(shù)據(jù)庫的名列前茅種方法是使用CREATE DATABASE語句。該語句以指定的...詳情>>

2023-10-13 16:56:43
為什么使用Redis做緩存而不會使用關(guān)系型數(shù)據(jù)庫?

一、為什么使用Redis做緩存而不會使用關(guān)系型數(shù)據(jù)庫首先要知道緩存緩存是干什么的,緩存是指可以進(jìn)行高速數(shù)據(jù)交換的存儲器,它先于內(nèi)存與CPU交換...詳情>>

2023-10-13 16:43:22
mysql 非少數(shù)索引的等值查詢?yōu)槭裁匆觛ap鎖?

一、mysql 非少數(shù)索引的等值查詢?yōu)槭裁匆觛ap鎖mysql 中非少數(shù)索引使用的也是 B+ 樹來組織數(shù)據(jù)結(jié)構(gòu)。假設(shè) id 的索引結(jié)構(gòu)在葉子節(jié)點從左到右的...詳情>>

2023-10-13 16:33:11
mongoDB和python連接處理數(shù)據(jù)慢怎么解決?

一、mongoDB和python連接處理數(shù)據(jù)慢怎么解決mongoDB和python連接處理數(shù)據(jù)慢可以考慮用并行計算,單機(jī)多線程并行,或者集群并行。集算器提供封裝...詳情>>

2023-10-13 16:29:19
快速通道