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

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

深入淺出的學(xué)習(xí)Mysql

2024-07-24 12:52:34
字體:
供稿:網(wǎng)友

前言

數(shù)據(jù)庫一直是筆者比較薄弱的地方,結(jié)合自己的使用經(jīng)驗(yàn)(python+sqlalchemy)等做個記錄,筆者比較喜歡使用ORM,一直感覺拼sql是一件比較痛苦的事情(主要是不擅長sql),以前維護(hù)項(xiàng)的目中也遇到過一些數(shù)據(jù)庫的坑,比如編碼問題,浮點(diǎn)數(shù)精度損失等,防止以后重復(fù)踩坑。

1章:使用幫助

使用mysql內(nèi)置的幫助命令

    msyql> ? data types : 查看數(shù)據(jù)類型 mysql> ? int mysql> ? create table

    2章:表類型(存儲引擎)的選擇

    最常用的兩種引擎:

    1、Myisam是Mysql的默認(rèn)存儲引擎,當(dāng)create創(chuàng)建新表時,未指定新表的存儲引擎時,默認(rèn)使用Myisam。 每個MyISAM 在磁盤上存儲成三個文件。文件名都和表名相同,擴(kuò)展名分別是 .frm (存儲表定義) 、.MYD (MYData,存儲數(shù)據(jù))、.MYI (MYIndex,存儲索引)。數(shù)據(jù)文件和 索引文件可以放置在不同的目錄,平均分布io,獲得更快的速度。

    2、InnoDB 存儲引擎提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全。但是對比 Myisam 的存儲引擎,InnoDB 寫的處理效率差一些并且會占用更多的磁盤空間以保留數(shù)據(jù)和索引。

    常用環(huán)境:

    1、MyISAM: 默認(rèn)的 MySQL 插件式存儲引擎, 它是在 Web、 數(shù)據(jù)倉儲和其他應(yīng)用環(huán)境下最常
    使用的存儲引擎之一

    2、InnoDB:用于事務(wù)處理應(yīng)用程序,具有眾多特性,包括 ACID 事務(wù)支持。

    3章:選擇合適的數(shù)據(jù)類型

    首先選擇合適的存儲引擎,根據(jù)指定的存儲引擎確定合適的數(shù)據(jù)類型。

    MyISAM: 最好使用固定長度的數(shù)據(jù)列代替可變長度的數(shù)據(jù)列。 InnoDB: 建議使用varchar

    需要注意的一些數(shù)據(jù)類型:

    1、char與varchar: 保存和檢索方式不同,最大長度和是否尾部空格被保留也不同。char固定長度,長度不夠用空格填充,獲取時如果沒有設(shè)置 PAD_CHAR_TO_FULL_LENGTH默認(rèn)去除尾部空格。
    varchar變長字符串,檢索時尾部空格會被保留。注意查詢時候不區(qū)分大小寫,如果用sqlalchemy區(qū)分大小寫不要用func.binary函數(shù)。

    2、text和blob: text和blob執(zhí)行大量的更新或者刪除的時候會留下很大『空洞』,建議定期用OPTIMIZE TABLE功能對這類表碎片整理。避免檢索大型的blob或text值 。把text和blob列分離到單獨(dú)的表中。

    3、浮點(diǎn)數(shù)float與定點(diǎn)數(shù)decimal:

    注意幾個點(diǎn):

          1.浮點(diǎn)數(shù)雖然能表示更大的數(shù)據(jù)范圍,但是有誤差問題。

          2.對貨幣等精度敏感的問題,應(yīng)使用定點(diǎn)數(shù)存儲。之前項(xiàng)目踩過坑,結(jié)果不得不用放大和縮小倍數(shù)的方法解決,比較ugly。

          3.編程如果遇到浮點(diǎn)數(shù),注意誤差問題,盡量避免浮點(diǎn)數(shù)比較(比較浮點(diǎn)數(shù)需要作差小于一個特定精度),python3.5中可以這么比較:

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 诏安县| 南皮县| 龙岩市| 西丰县| 石狮市| 宁晋县| 新乡县| 麟游县| 乃东县| 安平县| 开原市| 惠水县| 博爱县| 屏东县| 阳江市| 龙泉市| 新密市| 饶阳县| 抚州市| 中阳县| 施秉县| 昌图县| 平果县| 三江| 梅河口市| 永靖县| 齐齐哈尔市| 哈尔滨市| 石楼县| 兴城市| 丰镇市| 宝应县| 穆棱市| 尚义县| 怀仁县| 金塔县| 会东县| 鄢陵县| 朝阳市| 双牌县| 龙川县|