mysql中的小技巧

2021-07-24 17:00:34 字數 1003 閱讀 4469

在長期的資料更新過程中,

索引檔案和資料檔案,都將產生空洞,形成碎片

我們可以通過乙個

nop操作(不產生對資料實質影響的操作),

來修改表。

比如:

表的引擎為

innodb,可以

>

alter table tablename engine

innodb

也可以

>

optimize table tablename

,也可以修復

好的建議:如果表的update操作很頻率,可以按周/月來修復,如果不頻繁,可以更長的週期來做修復

重複索引::是指在同1

個列(如

name

),或者

順序相同的幾個列(

name

,age

),建立了多個索引。稱為重複索引,重複索引沒有任何幫助,只會增大索引檔案,拖慢更新速度,必須去除。

冗餘索引:冗餘索引是指

2個索引所覆蓋的列有重疊,

稱為冗餘索引,比如x,

m列,加索引index x(x

),index xm(x

,m)。x

、xm索引,兩者的

x列重疊了,

這種情況,稱為冗餘索引,甚至可以把

index mx(m

,x)索引也建立,mx、

xm

也不是重複的,列的順序不一樣。

誤區: 給我們的感覺是, 先查到內層的6號欄目的子欄目,如7,8,9,11

然後外層,cat_id in (7,8,,9,11)

實際上: 如下圖, goods表全掃瞄, 並逐行與category表對照,看parent_id=6是否成立

MySQL中的查詢小技巧

乙個簡單的示例表,user id為使用者id外來鍵,score為使用者分數。使用者分數查詢系統中,首頁列表按照分數降序排列,即原本應是如下順序 出於人性化考慮,當使用者進入系統時,我們希望該使用者的所有得分都在最前面顯示,且不影響其他記錄的排序。這時可以用case when來自定義排序的優先順序。寫...

mysql中資料處理小技巧

平時開發中經常與資料庫打交道,mysql又是現在比較常用的資料庫,此文總結下平時會用到的mysql的小技巧。create table x like y 快速建立和y結構一樣的表x select last insert id 處理資料時比較有用,比如插入一條資料後,要獲取插入資料的自增主鍵id,就可以...

MySQL 日常小技巧彙總,更新中

create table table name id int 11 unsigned not null auto increment comment 自增主鍵 primary key id engine innodb auto increment default charset utf8mb4 co...