關於資料庫的優化
**
資料庫優化基本上可以分為3大塊
**
第一點:關於資料庫表的設計
在設計表的時候儘量遵守三大正規化,避免過多的表關聯,反正分細點比較好,具體瞭解三大正規化的話可以點選後面網址哦。
https://blog.csdn.net/u013190088/article/details/78017465
其次:對於資料經常更改的表或查詢的注意進行分庫管理
第二點:關於索引的設定
當對查詢進行優化,應儘量避免全表掃描也就是使用※,應考慮在 where 及 order by 涉及的列上建立索引。
必須主鍵、外來鍵建索引,表資訊多的,還有表關聯資訊的也要建。
第三點:關於sql語句的優化
首先:注意where 中的欄位順序,先過濾有索引的,能儘量縮小資料範圍的。
其次:查詢量較大的放到最後面就好了。少用*,一般查詢表關聯3個以內吧。
如果公司允許的話,建議使用阿里的德魯伊Druid資料庫連線。
經驗不深,還望海涵。
如果想要具體瞭解關於資料庫優化,可以參照下面大神的部落格。
http://www.cnblogs.com/villion/archive/2009/07/23/1893765.html
相關推薦
資料庫優化SQL
sql優化規則: 1.對於查詢,儘量不要使用全表掃描,儘量在where子句以及order by所對應的欄位建立索引。 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描。 最好不要給資料庫留NULL,儘可能的使用 NOT NULL填充
mysql資料庫優化大全
資料庫優化 sql語句優化 索引優化 加快取 讀寫分離 分割槽 分散式資料庫(垂直切分) 水平切分 MyISAM和InnoDB的區別: 1. InnoDB支援事務,MyISAM不支援,對於InnoDB
JAVA效能優化,架構師,分散式框架,高可用框架,微服務架構,資料庫優化
程式碼優化,一個很重要的課題。可能有些人覺得沒用,一些細小的地方有什麼好修改的,改與不改對於程式碼的執行效率有什麼影響呢?這個問題我是這麼考慮的,就像大海里面的鯨魚一樣,它吃一條小蝦米有用嗎?沒用,但是,吃的小蝦米一多之後,鯨魚就被餵飽了。 程式碼優化也是一樣,如果專案著眼於儘快無BUG上線,那麼此時可以抓
mysql資料庫優化(四)-專案實戰
在flask專案中,防止隨著時間的流逝,資料庫資料越來越多,導致介面訪問資料庫速度變慢。所以自己填充資料進行測試及 mysql優化 1.插入資料: 通過指令碼,使用多程序,每100次提交資料 import multiprocessing import time from fla
資料庫優化查詢方法總結
處理百萬級以上的資料提高查詢速度的方法: 1.應儘量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。 2.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order_by 涉及的列上建立索引。 3.應儘量避免在 wh
mysql資料庫優化小結
一、常見資料庫的優化操作 1、表的設計要符合三正規化。 2、新增適當的索引,索引對查詢速度影響很大,必須新增索引。主鍵索引,唯一索引,普通索引,全文索引 3、新增適當儲存過程,觸發器,事務等。 4、讀寫分離(主從資料庫) 5、對sql語句的一些優化,(查詢執行速度比較慢的sql語
關於資料庫優化的一些想法
優化table結構 #1 列資料型別儘量使用數字型別,避免使用字元型別,後者不僅會佔用較多儲存空間而且會降低查詢效率(逐字元比較); #2 優先使用VARCHAR,變長欄位儲存空間小,還可以提升查詢效率; #3 對需要經常作為where條件出現的column新增索引,通過新增constraint設定為u
Django - ORM 資料庫優化
目錄 一、defer 、only 查詢優化 二、事務 transaction - 原子性操作 三、choice -- 簡化不常變化的欄位 - 模型層內建立方式 - 檢視層 使用方式:物件(單).get_欄位名_display() author.get_dd_displa
大資料量高併發的資料庫優化詳解(MSSQL)
轉載自:http://www.jb51.net/article/71041.htm 如果不能設計一個合理的資料庫模型,不僅會增加客戶端和伺服器段程式的程式設計和維護的難度,而且將會影響系統實際執行的效能。所以,在一個系統開始實施之前,完備的資料庫模型的設計是必須的。 一、資料庫結構的設計 在一個系統分析、設計
資料庫優化 ------ 索引的使用問題
最近,在工作的過程中,會時不時的碰到要不要新增索引的問題,於是結合自己的經歷,忙裡偷閒總結下,希望自已以後忘記了可以快速的記憶起來,同時也希望也可以幫助一些跟我一樣有需求的小夥伴。 一直以來,我總是不自覺的去想,到底什麼是索引?為什麼建立索引可以加快查詢的速度?直
簡單的資料庫優化
不管用什麼樣的語言,資料庫是必不可少的,因此資料庫優化是必備的。 下面列舉幾條基本的簡單的資料庫優化,環境是php + mysql。 1.合理設定欄位屬性。 大家都知道資料庫中的表越小,在它上面執行的查詢也就會越快。因此合理設定欄位屬性,使資料庫表儘可
公司報表資料庫優化
報表系統優化 背景: 11.22早晨 剛放下揹包,收到一份郵件,郵件意思是公司報表資料庫慢,讓我幫忙看看。郵件還附帶了一個SQL文字,指出這個SQL慢。隨後電話了開發人員瞭解事情來龍去脈,原來是在一個月前 DB組幫他們遷移了報表資料庫,現在感覺這個新環境比沒遷移前還要慢(由於老環
資料庫優化技術
本篇文章為轉載文章 一、百萬級資料庫優化方案 1.對查詢進行優化,要儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如: sel
資料庫優化設計(非常實用)
一、樹型關係的資料表 不少程式設計師在進行資料庫設計的時候都遇到過樹型關係的資料,例如常見的類別表,即一個大類,下面有若干個子類,某些子類又有子類這樣的情況。當類別不確定,使用者希望可以在任意類別下新增新的子類,或者刪除某個類別和其下的所有子類,而且預計以後其
【學習筆記】資料庫優化之索引(聚簇索引&非聚簇索引)
索引:對資料庫表中一列或多列的值進行排序的一種結構,通過索引可快速訪問資料庫表中的特定資訊,即通過索引對資料列的值進行結構化排序。 其中,索引包含聚簇索引和非聚簇索引 聚簇索引的順序就是資料的物理儲存順序 非聚簇索引的索引順序與資料物理排列順序無關 所以一個表
單機MySQL資料庫優化推薦的編譯安裝引數
MySQL 編譯引數多而複雜,讓新手感到很頭大,如果是正式生成環境安裝 MySQL,沒有充足的時間去研究每一個引數代表的意義,個人建議使用餘洪春前輩整理的編譯引數,便捷高效! MySQL 的線上安裝建議採取編譯安裝的方法,這樣效能上有較大提升,,原始碼包的編譯引數會預設以 Debgu 模式生成二進位制程式碼
資料庫SQL優化大總結之 百萬級資料庫優化方案
網上關於SQL優化的教程很多,但是比較雜亂。近日有空整理了一下,寫出來跟大家分享一下,其中有錯誤和不足的地方,還請大家糾正補充。 這篇文章我花費了大量的時間查詢資料、修改、排版,希望大家閱讀之後,感覺好的話推薦給更多的人,讓更多的人看到、糾正以及補充。 1.對查詢進行
Oracle/MySQL 資料庫優化方案/方向
上週老闆說要做一個優化資料庫方案,上週沒做,週一的週會被批了一頓,前兩天出了一個草版方案,這裡記錄一下當沒有經驗沒有方向沒人指導的一個DBA如何著手做個數據庫優化方案和具體做法。 大方向: 優化無非就: sql優化 架構優化 硬體效能優化
資料庫優化的幾個注意點
1.對查詢進行優化,要儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,最好不要給資料庫留NULL,儘可能的使用 NOT NULL填充資料庫。備註、描述、評論之類的可
18種mysql的資料庫優化
1.對查詢進行優化,應該儘量避免全表掃描,首先應該考慮在where及order by涉及的列上建立索引 2.應該儘量避免在where 子句中使用!= 或者<>操作符,否則引擎將放棄索引而進行全表掃描 3.應該儘量避免在where子句中對欄位進行null值判斷,