1. 程式人生 > >任何路都沒有錯,關鍵是要知道自己在哪

任何路都沒有錯,關鍵是要知道自己在哪

1.原則上來說:一個表需要跟別人做連線的欄位都要加索引,比如表A 的A1,A2,A3需要跟其他表發生連線,那麼3個欄位都要加索引

2.經常用來查詢的欄位,模糊查詢的欄位不用, 其他精確查詢且欄位重複率低的最好需要.比如 varchar欄位

3.如果一個表經常用這個欄位進行條件查詢,這個欄位是不是要加索引,要看這個欄位的值是什麼場景的,如果是列舉的,值是固定的幾個,就沒多大意義,如果是各式各樣的,比如 varchar(100)裡面的值重複很少,而且查詢不是以like()進行 那麼可以考慮加一加.

4.Mysql中Like查詢 keyword%,走索引 %keyword%不走索引

5.比如使用者名稱,建立時間,狀態,很多常用的條件,就可以嘗試建組合索引,注意Where順序要一樣,組合索引,要有組合欄位被檢索的場景才有用

6.資料重複多的話用點陣圖索引

7.索引多了的表,不建議物理刪除資料,最好邏輯刪除,索引多了維護起來累,還有,建議索引不要跟資料在一個表空間(Oracle)

8.只要用索引就會拖慢插入 更新的速度,所以自己權衡好

9.每個表不超過三個索引,並不是建的越多效能越好,亂建索引會導致查詢慢,具體請看執行計劃

10.Oracle高版本按照CBO來優化的,如果CBO覺得不走索引快,那麼你建再多的索引都沒有用.

相關推薦

任何沒有,關鍵知道自己

1.原則上來說:一個表需要跟別人做連線的欄位都要加索引,比如表A 的A1,A2,A3需要跟其他表發生連線,那麼3個欄位都要加索引 2.經常用來查詢的欄位,模糊查詢的欄位不用, 其他精確查詢且欄位重複率低的最好需要.比如 varchar欄位 3.如果一個表經

任正非:向谷歌學習,殺出一條血(谷歌軍團的編制不大,戰鬥力極強。任何產品是架構第一。算法團隊直接殺入到項目中去,一線既有算法又有數據,就容易突破,抽象的平臺一定有實踐東西檢驗。藍軍不一定是有學歷的。我們幫助他們在工作中完成學歷教育)

工程 研究院 就是 激活 敢於 所在 邊緣計算 老師 約束 IT之家1月22日消息 日前,華為心聲社區公布了任正非在1月9日在杭州研究所業務匯報會上的講話。在本次講話中,任正非表示在軟件工程能力提升上,我們最缺乏的是對宏觀架構有清醒認識的人才。建立公司是一個架構;建立公司的

隔壁小孩知道的Drupal配置

i春秋作家:Arizona 原文來自:隔壁小孩都要知道的Drupal配置 隔壁小孩都要知道的Drupal配置 Drupal是一個開源的PHP內容管理系統,具有相當複雜的架構。它還具有強大的安全模型。感謝開發人員在社群的貢獻和維護,所以有很多詳細的文件和有關加強Drupal網站安全配置

這個女生說:弄懂本文前,你所知道的區塊鏈可能

整個區塊鏈行業的凜冽寒冬中,價格的漲跌已經左右了太多的人頭腦之中的理智。可是,眾人之中,究竟有幾個人真正理解了區塊鏈技術的密碼學機制與分散式計算?究竟有幾個人還會關心區塊鏈在技術上的創新? 塵歸塵,土歸土。可能只有巨大的泡沫消散之後,區塊鏈才能通過技術創新顯示出真正的影響力。讓區塊鏈迴歸技術與應用的本質,這

這個小姐姐說:你之前所知道的區塊鏈可能

隨著幣價的一直下跌,有傳言說,比特幣價格此次崩盤,只是大 BOSS 吳忌寒為加速淘汰老舊礦機而祭出的絕招。 無論這個陰謀論真假與否,在整個區塊鏈行業的凜冽寒冬中,價格的漲跌已經左右了太多的人頭腦之中的理智。可是,眾人之中,究竟有幾個人真正理解了區塊鏈技術的密碼學機制與分散式計算?究竟有幾個人還會關心區塊鏈在

42歲程式設計師哀嘆:投上百份簡歷卻一個面試機會沒有在何方!

在很多人眼裡,程式設計師是高大上的職業,有技術含量,錢多,鐵飯碗,是很多人心中的傳統印象。 然而事實並非如此,只有身在此行的業內人士才知程式設計師的艱辛,大多數程式設計師都是吃的青春飯,年紀一大,很容易被公司辭退,給人生帶來悲劇。有一名大齡程式設計師就在網上釋出了自己的遭遇

IT如何走?——老程式設計師的10個忠告(新手的程式設計師一定知道)

        [1]好好規劃自己的路,不要跟著感覺走!根據個人的理想決策安排,絕大部分人並不指望成為什麼院士或教授,而是希望活得滋潤一些,爽一些。那麼,就需要慎重安排自己的軌跡。從哪個行業入手,逐漸對該行業深入瞭解,不要頻繁跳槽

小黃鴨除錯法,每個程式設計師知道

花了一下午(或一天)在試圖解決某個 Bug,後來才知道解決方案很簡單,當時就是沒有想到。 有個同事正好路過,看到你愁眉苦臉的,問你“怎麼了呀?” “噢,是這樣的。我遇到了一個問題,點選這個控制元件的時……” 當你正準備和同事詳細解釋的時候,突然靈光一現,你話都沒說完

c# 實現用滑鼠拖動沒有標題欄的視窗(窗體的任何部分可實現拖動效果)

上面形式的窗體,實現窗體的任何部分都可實現拖動 首先需要引入非託管程式碼,直接呼叫windows api         public const int WM_NCLBUTTONDOWN = 0xA1;         public const int HT_CAPT

iOS多執行緒——你知道的NSThread在這裡

你要知道的iOS多執行緒NSThread、GCD、NSOperation、RunLoop都在這裡 本系列文章主要講解iOS中多執行緒的使用,包括:NSThread、GCD、NSOperation以及RunLoop的使用方法詳解,本系列文章不涉及基礎的執行緒

C語言讀取二進位制檔案,讀取結果全部為零,編譯執行沒有

利用fread讀取二進位制檔案,讀出來的結果全部為零,編譯執行都沒有報錯,程式碼如下, 有人說是大小端的問題,怎麼理解啊?判斷出來的本機器的為little endian,怎麼判斷需不需要轉換啊?要是需要轉換,怎麼轉換啊?在網上找了利用巨集處理進行大小端轉換的程式碼,但是在我這種情況下,怎

maven專案中各檔案沒有,但是專案名稱有紅叉

第一種情況:剛開始建立maven專案的時候,預設使用的是jre1.5版本,而且沒有匯入Tomcat伺服器,可以看到Problems(和Console控制檯同欄,如果沒有,可以在Window——Show

網路乾貨,無論是運維還是開發知道的網路知識系列之(六)

區域網使用者上網原理 我相信很多人都會上網,但是都不知道上網時訊號的傳遞過程,下面就來說說上網的原理 上網過程說明: ①確保物理裝置和線路架構準備完畢,並且線路通訊狀態良好 ②終端裝置需要獲取或配置上區域網(私有地址)地址,作為區域網網路標識 ③當終端裝置想上網時,首先確認訪問的地址,

網路乾貨,無論是運維還是開發知道的網路知識系列之(九)

網路及服務故障排查 例:檢查公司的網站是否有問題。 1、你是運維人員,客戶說開啟網站慢,,請分析可能原因 a.ping www.muyuchen.com icmp協議,(高速公路有沒有修通),linux禁止icmp。  ping -c3 -i2 -s512 www.baidu.com

網路乾貨,無論是運維還是開發知道的網路知識系列之(八)

相關網路操作知識 配置linux網絡卡 網絡卡配置檔案 /etc/sysconfig/network-scripts/ifcfg-eth0 setup-network config就是網絡卡配置檔案。 網絡卡生效: 推薦:ifdown,ifup 2、網路如果沒有配置DNS,那麼再/etc/re

每個系統管理員知道的 30 個 Linux 系統監控工具

11. netstat - Linux 網路統計監控工具netstat 命令顯示網路連線、路由表、介面統計、偽裝連線和多播連線等資訊。# netstat -tulpn # netstat -nat12. ss - 網路統計ss 命令用於獲取套接字統計資訊。它可以顯示類似於 netstat 的資訊。不過 net

mysql 有沒有引數“mysql: unknown option”

安裝測試環境的時候,遇到一個錯誤。 無論有沒有輸入引數,執行mysql的時候,都報錯: [[email protected] tmp]# mysqlmysql: unknown option '--You have new mail in /var/spool/

iOS多執行緒——你知道的NSOperation在這裡

你要知道的iOS多執行緒NSThread、GCD、NSOperation、RunLoop都在這裡 本系列文章主要講解iOS中多執行緒的使用,包括:NSThread、GCD、NSOperation以及RunLoop的使用方法詳解,本系列文章不涉及基礎的執行緒

不論報任何錯誤 是網絡源有問題,安裝spacemacs報的解決方式

報錯 des spa -a -i mir ati pac var 不論報任何錯誤 都是網絡源有問題打開.spacemacs### 這是原頭部(defun dotspacemacs/layers () "Configuration Layers declaration.Yo

大多數人可能不會使用socketTimeout,看了底層才知道一直

  前幾天一個機房網路抖動,引發了很多對外請求的超時問題,在發生問題排查日誌的時候,發現了這麼一個現象,httpclient我們的請求超時時間並沒有按照我們的設定報超時異常 我們的大概配置如下: RequestConfig requestConfig = RequestConfig.custom()