MySQL資料庫的優化

2021-09-25 19:45:50 字數 1341 閱讀 4405

索引能大大提高查詢速度,同時卻會降低更新表的速度,如對表進行insert、update和delete。因為更新表時,mysql不僅要儲存資料,還要儲存一下索引檔案。建立索引會占用磁碟空間的索引檔案。

索引適用於不經常修改的字段,並且表越大建立索引的效果越明顯。

=1

mobile為索引字段,name為非索引字段

推薦select .

.. from t where mobile=

'13911111111' and name=

'python'

不推薦select .

.. from t where name=

'python' and mobile=

'13911111111'

建立了復合索引 key(a, b, c)

推薦select .

.. from t where a=..

. and b=..

. and c=..

. select .

.. from t where a=..

. and b=..

. select .

.. from t where a=..

. 不推薦 (字段出現順序不符合索引建立的順序)

select .

.. from t where b=..

. and c=..

. select .

.. from t where b=..

. and a=..

. and c=..

....

子查詢

select article_id, title from t_article where user_id in (select user_id from t_user where user_name in (

'itcast'

,'itheima'

,'python'))

關聯查詢(推薦)

select b.article_id, b.title from t_user as a inner join t_article as b on a.user_id=b.user_id where a.user_name in (

'itcast'

,'itheima'

,'python'

);

mysql資料庫的優化

先學習一下mysql的相關優化問題,主要是從提高mysql資料庫伺服器的效能的思路進行考慮,主要包含以下8個方面的優化 1 選取最適用的字段屬性 2 使用連線 join 來代替子查詢 sub queries 3 使用聯合 union 來代替手動建立的臨時表 4 事務 5 鎖定表 6 使用外來鍵 7 ...

Mysql 資料庫的優化

1 儲存引擎選擇 如果資料表需要事務處理,應該考慮使用 innodb,因為它完全符合 acid 特性。如果不需要事務處理,使用預設儲存引擎 myisam 是比較明智的 2 分表分庫,主從。3 對查詢進行優化,要盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索 引4 ...

MySQL資料庫的優化

mysql為何要進行優化 mysql優化是乙個綜合性的技術,主要包括 要保證資料庫的效率,要做好以下四個方面的工作 通俗地理解三個正規化 第一正規化 1nf是對屬性的原子性約束,要求屬性 列 具有原子性,不可再分解 只要是關係型資料庫都滿足1nf 第二正規化 2nf是對記錄的惟一性約束,要求記錄有惟...