mysql 學習之三 資料型別

2021-06-18 02:05:19 字數 1284 閱讀 6993

1. 固定長度資料列與可變長度的資料列

char 和varchar

char 和varchar 型別類似,但它們儲存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同。在儲存或檢索過程中不進行大小寫轉換。

2.text 和blob

(1). blob和text值也會引起自己的一些問題,特別是執行了大量的刪除或更新操作的時候。

刪除這種值會在資料表中留下很大的"空洞",以後填入這些"空洞"的記錄可能長度不同,為了提高效能,建議定期使用optimize table 功能對這類表進行碎片整理.

(2). 使用合成的(synthetic)索引。合成的索引列在某些時候是有用的。一種辦法是根據其它的列的內容建立乙個雜湊值,並把這個值儲存在單獨的資料列中。接下來你就可以通過檢索雜湊值找到資料行了。但是,我們要注意這種技術只能用於精確匹配的查詢(雜湊值對於類似《或》=等範圍搜尋操作符是沒有用處的)。

3. 在不必要的時候避免檢索大型的blob或text值。例如,select *查詢就不是很好的想法。

4. 把blob或text列分離到單獨的表中。

3 浮點數與定點數

在mysql 中float、double(或real)是浮點數,decimal(或numberic)是定點數。

浮點數相對於定點數的優點是在長度一定的情況下,浮點數能夠表示更大的資料範圍;它的缺點是會引起精度問題。

要注意:

1、浮點數存在誤差問題;

2、對貨幣等對精度敏感的資料,應該用定點數表示或儲存;

3、程式設計中,如果用到浮點數,要特別注意誤差問題,並盡量避免做浮點數比較;

4、要注意浮點數中一些特殊值的處理。

Redis學習總結之 三 資料型別

redis的資料型別 redis是支援多種型別的,不僅僅是簡單的key value的所謂的字串型別,它支援的型別有五種,分別是 string hash list set zset.注 命令用紅色表示關鍵字 命令符 key用藍色表示,value用綠色表示 一 string型別 redis的key va...

MySQL學習筆記之三表型別

你能用的資料庫引擎取決於mysql在安裝時候是如何被編譯的。要新增乙個新的引擎,就必須編譯mysql。僅僅為了新增乙個特性而編譯應用程式的想法對於windows的開發人員來說可能有點小題大做,得不償失,但是在unix的世界裡,這已經成為了標準。在預設的情況下,mysql支援三個引擎 isam myi...

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...