PHPer面試指南 MySQL 篇

2021-09-24 06:51:58 字數 983 閱讀 2180

索引是一種特殊的檔案,它們包含著對資料表裡所有記錄的引用指標,相當於書本的目錄。其作用就是加快資料的檢索效率。常見索引型別有主鍵、唯一索引、復合索引、全文索引。

避免使用 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...