維護和優化要做什麼
1:維護資料字典
2:維護索引
3:維護表結構
4:在適當的時候對錶進行水平拆分或垂直拆分
一:如何維護資料字典
1:使用第三方工具對資料字典進行維護
2:利用資料庫本身的備註欄位來維護資料字典
以mysql為例:
create
table customer(
cust_id int auto_increment not
null comment '自增id',
cust_name varchar(10) not nunll comment '客戶姓名',
primary
key(cust_id)
)comment '客戶表'
3:匯出資料字典
select
a.table_name,b.table_comment,a.column_name,
a.column_type,a.column_commentfrom
information_schema.columns a joid information_schema.
tables b on a.table_schema=b.table_schema and
a.table_name=b.table_name
where a.table_name='customer'
二:資料庫如何維護索引如何選擇合適的列建立索引?
1:出現在where從句,group by從句,order by從句的列
2:可選擇性高的列要放在索引的前面
3:索引中不要包括太長的資料型別
注意事項:
1:索引並不是越多越好,過多的索引不但會降低寫效率,而且會降低讀的效率
2:定期維護索引碎片
3:在sql語句中不要使用強制索引關鍵字
三:如何維護表結構
資料庫中適合的操作
1:批量操作vs逐條操作
2:禁止使用select *這樣的查詢
3:控制使用使用者自定義函式
4:不要使用資料庫中的全文索引
表的垂直拆分和水平拆分
表的垂直拆分:為了控制表的寬度可以進行表的垂直拆分。
1:經常一起查詢的列放在一起
2:text,blob等大字段拆分出到附加表中
表的水平拆分:為了控制表的大小可以進行表的水平拆分
水平拆分常用方法之一,主鍵的hash key,取模
資料庫設計(三)之資料庫維護與優化
1.使用第三方工具對資料字典進行維護 2.利用資料庫本身的製備柱字段來維護資料字典 如何選擇合適的列建立索引 1.出現在where從句,group by從句,oreder by從句中的列 2.可選擇性高的列要放到索引的前面 3.索引中不要包括太長的資料型別。只使用前16個位元組進行索引,或者太大的字...
資料庫優化 資料庫設計優化
一 索引優化 1.首先索引不是越多越好,要視情況而定。因為索引會降低insert和update的效率 insert和update有時可能會重建索引。2.乙個表的索參數量最好不要超過6個,擇優而建。3.專案上線後,根據使用者的查詢條件字段稍微調整資料庫中的字段索引。二 分表 1.縱切 根據表字段來且分...
mysql資料庫優化之索引的維護和優化
這裡是乙個工具,即pt duplicate key checker工具 用來檢查重複及冗餘的索引 用法如下 pt duplicate key checker uroot p密碼 h127.0.0.1 資料庫結構優化 那麼為什麼需要使用not null 定義欄位呢?因為innodb引擎的資料表,在遇到...