数据库-优化-数据库结构的优化-数据类型
生活随笔
收集整理的這篇文章主要介紹了
数据库-优化-数据库结构的优化-数据类型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據類型選擇
數據類型的選擇,重點在于“合適”二字,如何確定選擇的數據類型是否合適了?
案例
案例一:int類型存儲時間-時間轉換
????????????? 使用int來存儲日期時間,利用FROM_UNIXTIME(),UNIX_TIMESTAMP()兩個函數來進行轉換。
創建表:
create table test( id int auto_increment not null, timestr int , primary key(id) );導入數據:
insert into test (timestr) values (unix_timestamp('2018-05-29 16:00:00'));查詢數據:如下圖所示:
時間進行轉換:
select FROM_UNIXTIME(timestr) from test;結論:
1、unix_timestamp()函數是將日期格式的數據轉換為int類型
2、FROM_UNIXTIME(timestr)函數是將int類型轉換為時間格式
案例二:ip地址的存儲
在我們的外部應用中,都要記錄ip地址,大部分場合都是varchar(15)進行存儲,就需要15個字節進行存儲,但是bigint只需要8個字節進行存儲,當數據量很大的時候(千萬級別的數據),相差7個字節,但是不能小看這7個字節,給大家算一下。
一個字段就多這么多,那如果我們這樣的字段需要上萬個字段了?是需要很多的存儲空間的。
使用bigint(8)來存儲ip地址,利用INET_ATON(),INET_NTOA()兩個函數來進行轉換。
創建表:
create table sessions( id int auto_increment not null, ipaddress bigint, primary key (id) );導入數據:
insert into sessions (ipaddress)values (inet_aton('192.168.0.1'));轉換:
select inet_ntoa(ipaddress) from sessions;檢索:
?
總結
以上是生活随笔為你收集整理的数据库-优化-数据库结构的优化-数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库-优化-MYSQL数据库设计原则
- 下一篇: 数据库-优化-数据库结构的优化-表范式化