MySql優化方案

2022-02-18 05:52:40 字數 2593 閱讀 5387

mysql優化方案總結

u       mysql

資料庫的優化技術

對mysql

優化時乙個綜合性的技術,主要包括

a: 表的設計合理化(符合

3nf)

b: 新增適當索引

(index) [

四種:

普通索引、主鍵索引、唯一索引

unique

、全文索引

]c:

分表技術

(水平分割、垂直分割

)d: 讀寫[

寫: update/delete/add]

分離e:

儲存過程

[模組化程式設計,可以提高速度

]f:

對mysql

配置優化

[配置最大併發數

my.ini,

調整快取大小

]g: mysql

伺服器硬體公升級

h: 定時的去清除不需要的資料

,定時進行碎片整理

(myisam)

g:mysql

語句本身的優化

下面是一些mysql基本使用命令。

一:mysql檢視基本命令

(1):

檢視當前有哪些資料庫

show databases;

(2):

使用mysql資料庫

use test

;(3):

檢視當前資料庫下的表

show tables;

(4):

檢視上述grade表建立的命令

show

create table grade;

(5):

檢視student表的結構

desc student;

(6):

檢視資料庫支援的儲存引擎

show engines;

show engines \g ;

// \g

讓結果更美觀

(7):

檢視預設儲存引擎

show variables like 'storage_engine';

二:mysql的修改表

(1)將grade表的course欄位的資料型別修改為varchar(20)

alter table grade modify course varchar(20);

(2)將s_num欄位的位置改到course前面

alter table grade modify

s_num

int(10) after id;

(3)將grade欄位改名為score

alter table grade change grade score varchar(10);

(4)刪除grade的外來鍵約束

alter table grade drop foreign key grade_fk;

(5)將grade的儲存引擎修改為innodb

alter grade engine=innodb

;(6)

將student的address欄位刪除

alter table student drop address;

(7)在student表中增加名位phone的字段

alter table student add phone int (10);

(8)將grade的表名修改為gradeinfo

lter table grade rename gradeinfo;

(9):

刪除student表

drop table student;

//由於先前已經刪除外來鍵,所以才能刪除父表studnet

mysql

優化查詢工具:

工具之三種:使用索引,使用explain分析查詢以及調整mysql的內部配置

建立索引:create index idx_typeid on book1(typeid);

mysql

在建立索引時,對不同的資料表有不同的細節:myisam資料表,資料行將被儲存在資料檔案裡,其索引值將被儲存在索引檔案裡,而bdb處理程式把同乙個bdb資料表的資料值和索引值儲存在同乙個檔案裡,innodb處理程式則是把所有innodb資料表的資料值和索引值都儲存在同乙個表空間裡。

建立索引也要考慮它的缺點。首先,索引需要消耗磁碟空間(現在磁碟已經很便宜了),索引越多,消耗的空間也就有多。對於myisam資料表,過多的索引會使索引檔案優先與資料檔案達到尺寸上限。對於bdb資料表,因為它把資料值和索引值都儲存在同乙個檔案裡,所以增加索引必然會使他更快地達到bdb資料檔案的尺寸上限。innodb資料表共同分享著innodb表空間裡的儲存空間,所以增加索引必然會加快innodb表空間的消耗速度。不過,只要還能增加磁碟空間,就能通過給innodb表空間增加元件的辦法擴充之

其次,索引過多,會減慢被索引的資料列上的插入、刪除和修改操作的速度。因為在寫入記錄時,mysql還必須修改與之有關的所有索引

設計表時的優化

可以將相關表的字段的長度設定的一樣,查詢時可以減少查詢時匹配的次數

mysql

優化方案總結:

資料庫優化以及一些常見的資料庫應用函式和方法:

Mysql優化方案

client 客戶端編碼方式,最好和服務端儲存一致 loose default character set utf8 mysqld 埠port 3306 mysql根目錄 basedir d ide mysql 5.6.25 winx64 資料檔案存放目錄 datadir d ide mysql 5...

MySQL優化方案

select 和select 欄位的優化。我們先測試一下,我的測試資料庫裡有26萬條記錄。再查詢一下列數 select count from information schema.columns where table schema lezhi data and table name demo jo...

mysql 優化方案

對於某些文字字段,例如 省份 或者 性別 我們可以將它們定義為enum型別。因為在mysql中,enum型別被當作數值型資料來處理,而數值型資料被處理起來的速度要比文字型別快得多。這樣,我們又可以提高資料庫的效能。2 使用連線 join 來代替子查詢 sub queries mysql從4.1開始支...