国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL 請選擇合適的列

2024-07-24 12:49:16
字體:
來源:轉載
供稿:網友
思維導圖
點擊圖片,可查看大圖。

介紹
 
情況:如果你的表結構設計不良或你的索引設計不佳,那么請你優化你的表結構設計和給予合適的索引,這樣你的查詢性能就能提高幾個數量級。——數據越大,索引的價值越能體現出來。
 
我們要提高性能,需要考慮的因素:
1、設計架構
2、設計索引
3、評估查詢性能
 

今天要講的是表列的設計,暫不談索引設計。我會在下一章講索引設計。
 
選擇數據類型
 
選擇正確的數據類型,對于提高性能至關重要。
下面給出幾種原則,有利于幫助你選擇何種類型。
 
1、更小通常更好。
  使用最小的數據類型。——更少的磁盤空間,內存和CPU緩存。而且需要的CPU的周期也更少。
 
2、簡單就好。
  整數代價小于字符。——因為字符集和排序規則使字符比較更復雜。
  1>mysql內建類型(如timestamp,date)優于使用字符串保存。
  2>使用整數保存ip地址。
 
3、盡量避免NULL——如果計劃對列進行索引,盡量避免把列設置為NULL
  盡可能把字段定義為NOT NULL。——可以放置一個默認值,如‘',0,特殊字符串。
  原因:
    (1)MYSQL難以優化NULL列。NULL列會使索引,索引統計和值更加復雜。
    (2)NULL列需要更多的存儲空間,還需要在MYSQL內部進行特殊處理。
    (3)NULL列加索引,每條記錄都需要一個額外的字節,還導致MyISAM中固定大小的索引變成可變大小的索引。
 

決定列的數據類型,我們應該遵循下面兩步。

第一步、大致決定數據類型。——判斷是數字,字符串還是時間等。這通常很直觀。

第二步、確定特定的類型。

  很多數據類型能夠保存同類型的數據,但是我們要發現,他們在存儲的范圍,精度和物理空間之間的差別(磁盤或內存空間)。如:datetime和timestamp能保存同樣類型的數據:日期和時間。——timestamp使用datetime一半的空間;能保存時區;擁有特殊的自動更新能力。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兰州市| 南皮县| 玛纳斯县| 巩义市| 突泉县| 凌源市| 闻喜县| 白银市| 增城市| 铁岭县| 丰台区| 宁阳县| 大理市| 文安县| 翁源县| 潜江市| 大连市| 扎赉特旗| 湖北省| 水城县| 安溪县| 舒城县| 寿阳县| 长阳| 雷山县| 鄂州市| 砀山县| 武威市| 东兴市| 青州市| 稻城县| 体育| 庆云县| 衡东县| 剑河县| 南昌市| 同德县| 竹溪县| 稻城县| 澄迈县| 晋城|