MySQL Oracle 查詢快慢和表的資料量多少有沒有關係?
自己原文公眾號: https://mp.weixin.qq.com/s/xieQP6SNryzKOE8R3Qy1Tg
先說一下觀點。沒有!時至今日還是依然有很多人認為資料庫中資料量大了查詢會慢。實在不好意思,這個觀點是不對的。
我看到一句SQL select * from a where a.code like '%XXXX%' 執行了57秒,這個有點小兒科了。估計大家都知道這樣是用不到索引的,而這個列式有索引的。去掉前%,執行一下15毫秒。57000除以15約等於3800.也就是說不能增加任何硬體,提升了幾千倍。系統的效能明顯提升,而且穩定性也極大提升,至少敢說是支援併發了。
為什麼前後%呢?基本可以猜出來,設計的時候沒考慮,或者開發偷懶。這些都好解決,改一下SQL程式碼就行。怕就怕,使用者希望的就是前後都模糊,即用一個MYSQL來實現百度的功能,這樣的想法是很可怕的。
其實一般來說,不用高階的手段,僅僅使用索引就能解決99%的問題。為什麼?因為關係型資料庫的索引構成決定了索引層級都很低。2千萬和20億極有可能是一個層級。關於層級我覺得應該開一篇專題談談。
很多時候都是其實不是資料庫不行,而是使用方法有問題?
坡道起步的時候掛五檔會如何?考過駕照的人都知道是熄火。那麼你怪車還是怪坡?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2847317/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 表資料量大量查詢慢如何優化MySql優化
- 大資料量查詢容易OOM?試試MySQL流式查詢大資料OOMMySql
- 查詢資料量的大小
- mysql三表關聯查詢MySql
- mysql 三表關聯查詢MySql
- mysql新建表和多表查詢,關鍵字joinMySql
- 在EFCore中多對多關係的設計資料插入與查詢
- Oracle 查詢多個資料Oracle
- 查詢資料庫的資料量的大小資料庫
- mysql三張表關聯查詢MySql
- 查詢MySQL資料庫,MySQL表的大小MySql資料庫
- gorm 關係一對一,一對多,多對多查詢GoORM
- 使用Mybatis-plus進行分頁查詢,沒有分頁效果,查詢的資料量超出每頁數量設定MyBatis
- mysql千萬級資料量根據索引優化查詢速度MySql索引優化
- MySQL表關係的理解MySql
- Oracle OCP(22):查詢表資訊Oracle
- Oracle多列統計資訊與直方圖對有關聯多列查詢影響Oracle直方圖
- mysql三表關聯查詢練習MySql
- MYSQL A、B表陣列關聯查詢MySql陣列
- mysql帶AND關鍵字的多條件查詢MySql
- Mysql中使用流式查詢避免資料量過大導致OOMMySqlOOM
- MySQL 百萬級資料量分頁查詢方法及其最佳化MySql
- mysql千萬級資料量根據索引最佳化查詢速度MySql索引
- mysql查詢表基礎資訊MySql
- oracle 例項表查詢Oracle
- oracle表複雜查詢Oracle
- MySQL 單表查詢MySql
- MySQL單表查詢MySql
- mysql鎖表查詢MySql
- oracle表查詢的並行度Oracle並行
- 報表連 hive,資料量比較大,怎麼分頁查詢?Hive
- 查詢a表中b表沒有的資料,使用not exists
- 關於Oracle資料庫的時間查詢Oracle資料庫
- 關係型資料庫查詢語言 SQL 和圖資料庫查詢語言 nGQL 對比資料庫SQL
- mysql查詢結果多列拼接查詢MySql
- oracle 精確查詢和模糊查詢Oracle
- 關於oracle的空間查詢Oracle
- Oracle:優化方法總結(關於連表查詢)Oracle優化