優化MYSQL資料庫的方法

2021-07-10 05:50:24 字數 2627 閱讀 6808

1、

建立索引:

a、(普通索引

)->

建立:create index 《索引名》 on tablename (索引字段)

修改:alter table tablename add index [索引名] (索引字段)

創表指定索引:create table tablename([...],index[索引名](索引字段))

b、(唯一索引)->

建立:create unique 《索引名》 on tablename (索引字段)

修改:alter table tablename add unique [索引名] (索引字段)

創表指定索引:create table tablename([...],unique[索引名](索引字段))

c、(主鍵索引)->

它是唯一索引,一般在建立表是建立,格式為:

creata table tablename ([...],primary key[索引字段])2、

優化查詢語句

最好在相同字段進行比較操作,在建立好的索引欄位上儘量減少函式操作

a、例子1:

select * from order where year(orderdate)<2008;(慢)

select * from order where orderdate<"2008-01-01";(快)

b、例子2:

select * from order where addtime/7<24;(慢)

select * from order where addtime<24*7;(快)

c、例子3:

select * from order where title like "%good%";

select * from order where title>="good" and name<"good";3、

mysql函式小結

a、mysql取得當前時間的函式是?

now()

b、格式化日期的函式是?

date()

c、自動 插入當前時間 ?

將列屬性設定為 「timestamp」,設定其 default 為 「current_timestamp」。但是其只對「timestamp"有效。

d、mysql_fetch_row() 和mysql_fetch_array之間有什麼區別?

mysql_fetch_row是從結果集取出1行陣列,作為列舉

mysql_fetch_array是從結果集取出一行陣列作為關聯陣列,或數字陣列,兩者兼得

e、取得查詢結果集總數的函式是?

mysql_num_rows($result);

4、寫出三種以上

mysql資料庫儲存引擎

的名稱myisam

、innodb

、bdb

(berkeley db)、merge、memory(heap)、example、federated、archive、csv、blackhole、maxdb 等等十幾個引擎 5

、mysql資料庫基本的三個優化法則

是什麼,除了增加硬體和

頻寬?(1)系統服務優化,把mysql的key_buffer、cache_buffer、query_cache等增加容量

(2)給所有經常查詢的字段增加

適當的索引

(3)優化sql語句,減少ditinct、

group、join

等等語句的操作 6

、優化mysql資料庫的方法

(1).選取最適用的字段屬性,應該盡量把字段設定為not null,這樣在將來執行查詢的時候,資料庫不用去比較null值。

(2).使用連線(join)來代替子查詢(sub-queries)

(3).使用聯合(union)來代替手動建立的臨時表

(4).盡量少使用 like 關鍵字和萬用字元

(5).使用事務和外來鍵

7、對於大流量的**,採用什麼樣的方法來解決訪問量問題?

首先,確認伺服器硬體是否足夠支援當前的流量

其次,優化資料庫訪問。

第三,禁止外部的盜鏈。

第五,使用不同主機分流主要流量

第六,使用流量分析統計軟體。

8、請簡述資料庫設計的正規化及應用

一般第3正規化就足以,用於表結構的優化,這樣做既可以避免應用程式過於複雜同時也避免了sql語句過於龐大所造成系統效率低下。

第一正規化:若關係模式r的每乙個屬性是不可再分解的,再屬於第一正規化。

第二正規化:若r屬於第一正規化,且所有的非碼屬性都完全函式依賴於碼屬性,則為第二正規化。

第三正規化:若r屬於第二正規化,且所有的非碼屬性沒有乙個是傳遞函式依賴於候選碼,則屬於第三正規化。

9、連線資料庫操作的步驟是什麼?每一步的返回值是什麼資料型別?

$coon = mysql_connect('localhost', 'root' ,''); //返回資源型別

mysql_select_db('bbs', $coon);        // 布林型別

mysq_query('set names utf8');  //布林型別

$qry = mysql_query('select * from bbsinfo');  // 資源型別

mysql_fetch_row($qry);        // 陣列型別

優化MYSQL資料庫的方法

1 資料庫設計方面,這是dba和architect的責任,設計結構良好的資料庫,必要的時候,去正規化 英文是這個 denormalize,中文翻譯成啥我不知道 允許部分資料冗餘,避免join操作,以提高查詢效率 2 系統架構設計方面,表雜湊,把海量資料雜湊到幾個不同的表裡面.快慢表,快表只留最新資料...

優化MYSQL資料庫的方法

1 選取最適用的字段屬性,盡可能減少定義字段長度,盡量把字段設定not null,例如 省份,性別 最好設定為enum 2 使用連線 join 來代替子查詢 a.刪除沒有任何訂單客戶 delete from customerinfo where customerid notin select cus...

優化Mysql資料庫的方法

第 一 優化索引 sql 語句 分析慢查詢 第二 設計表的時候嚴格按照資料庫的設計正規化來設計資料庫 第三 我們可以加上 memcached 快取,將經常被訪問到的資料,但是不需要經常變化的資料放入至 memcached 快取伺服器裡面 第四 還可優化硬體,在硬體層面,我們可以使用更好的一些硬碟 固...