索引是一種特殊的檔案,它們包含著對資料表裡所有記錄的引用指標,相當於書本的目錄。其作用就是加快資料的檢索效率。常見索引型別有主鍵、唯一索引、復合索引、全文索引。
避免使用 like 模糊查詢只列出需要查詢的字段,而不是所有
避免使用 mysql 函式,盡量讓 mysql 做更少的事情,減輕 mysql 的壓力
經常查詢的字段,建立合適的索引,提高查詢效率
mysql 中查詢超過指定時間的語句,被稱之為「慢查詢」。該如何優化呢?優化 sql 語句,建立合適的索引,如以上兩個問題。
垂直分表垂直分表在日常開發和設計中比較常見,通俗的說法叫做「大表拆小表」,某個表中的字段比較多,可以新建立一張「擴充套件表」,將不經常使用或者長度較大的字段,拆分出去放到「擴充套件表」中。
垂直分庫
基本的思路就是按照業務模組來劃分出不同的資料庫,而不是像早期一樣將所有的資料表都放到同乙個資料庫中。
水平分表
水平分表也稱為橫向分表,比較容易理解,就是將表中不同的資料行按照一定規律分布到不同的資料庫表中(這些表儲存在同乙個資料庫中),這樣來降低單錶資料量,優化查詢效能。
水平分庫分表
水平分庫分表與上面講到的水平分表的思想相同,唯一不同的就是將這些拆分出來的表儲存在不同的資料庫中。
死鎖:死鎖一般是事務相互等待對方資源,最後形成環路,而無法繼續執行。產生死鎖的原因:
系統資源不足;
程序執行推進的順序不合適;
資源分配不當等;
如何有效降低死鎖:
按同一順序訪問資源;
避免事務中的使用者互動;
保持事務簡短並在乙個批處理中;
使用低隔離級別;
使用繫結連線;
PHPer面試指南 前言
作為一位程式設計師,面試過多次,也面試過很多人,最近又在找工作,總結一下面試經驗和面試題,希望可以幫到正在找工作的小夥伴們。先說一下面試時的心態,剛入門的程式設計師,技術實力不高,又大多不善言談,面試一旦遇到難題,很容易心態失衡 驚慌失措 語無倫次,最終丟掉了 offer。其實大可不必,心態坦然,是...
python面試指南 Python面試指南
1 python基本語法 1 staticmethod 和 classmethod python中有三種方法,例項方法 類方法 classmethod 靜態方法 staticmethod 類方法的第乙個引數是cls,表示該類的乙個例項,靜態方法基本上和乙個全域性函式相同 class a object...
mysql指南 MySQL 指南(一)
建立帶有空格的列名 create table customer customerid integer not null auto increment,first name varchar 16 last name varchar 16 primary key customerid engine in...