
查看mysql中支持的全部存儲引擎:show engines
#### innodb
數據庫每個數據表的數據設計三方面信息:表結構、數據、索引

技術特點:支持事務、行級鎖定、外鍵
##### 表結構,數據,索引的物理儲存
表結構文件
儲存位置,在mysql文件下面找
所有innodb表的數據和索引信息都存儲在以下ibdata1文件中

給innodb類型表 的數據和索引創建自己對應的存儲空間:
默認情況下每個innodb表的 數據和索引 不會創建單獨的文件存儲

設置變量,使得每個innodb表有獨特的數據和索引 存儲文件:


重新創建一個表
(后期無論innodb\_file\_per\_table的設置狀態如何變化,order2的數據和索引都有獨立的存儲位置)

Mysql5.6版本有支持全文索引
##### 數據存儲順序
innodb表數據的存儲是按照主鍵的順序排列每個寫入的數據。

該特點決定了該類型表的寫入操作較慢。
##### 事物,外鍵
該類型數據表支持事務、外鍵
事務:把許多寫入(增、改、刪)的sql語句捆綁在一起,要么執行、要么不執行
事務經常用于與“錢”有關的方面。
四個特性:原子、一致、持久、隔離
具體操作:
start transaction;
許多寫入sql語句
sql語句有問題
rollback;回滾
commit;提交
rollback和commit只能執行一個
外鍵:兩個數據表A和B,B表的主鍵是A表的普通字段,在A表看這個普通的字段就是該表的“外鍵”,外鍵的使用有”約束”。
約束:以上兩個表,必須先寫B表的數據,再寫A表的數據
并且 A表的外鍵取值必須來之B表的主鍵id值,不能超過其范圍。
真實項目里邊很少使用“外鍵”,因為有約束。
##### 并發性
該類型表的并發性非常高
多人同時操作該數據表
為了操作數據表的時候,數據內容不會隨便發生變化,要對信息進行“鎖定”
該類型鎖定級別為:行鎖。只鎖定被操作的當前記錄。
#### Myisam
##### 結構,數據,索引獨立存儲
\*.frm:表結構文件
\*.MYD:表數據文件
\*.MYI:表索引文件
該類型的數據表 表結構、數據、索引 都有獨立的存儲文件:

每個myisam數據表的 結構、數據、索引 都有獨立的存儲文件
特點:獨立的存儲文件可以單獨備份、還原。
數據穩定后可以壓縮數據信息
支持全文索引
##### 數據存儲順序
myisam表數據的存儲是按照自然順序排列每個寫入的數據。

該特點決定了該類型表的寫入操作較快。
##### 并發性
該類型并發性較低
該類型的鎖定級別為:表鎖
##### 壓縮機制
如果一個數據表的數據非常多,為了節省存儲空間,需要對該表進行壓縮處理。
復制當前數據表的數據:
開始壓縮數據表的數據
//這里表名要帶路徑的F:\\phpstudy\\MySQL\\data\\php2\\order3 表名order3前面帶路徑
壓縮工具:myisampack.exe 表名
重建索引:myisamchk.exe -rq 表名
解壓縮工具:myisamchk.exe --unpack 表名

order3數據表有壓縮,但是索引沒有了:要重建索引
索引重建完畢
出現情況:
壓縮的數據表是只讀表,不能寫信息:
壓縮的數據表有特點:不能頻繁的寫入操作,只是內容固定的數據表可以做壓縮處理
存儲全國地區信息的數據表
收貨地址信息數據表
如果必須要寫數據:就解壓該數據表,寫入數據,再壓縮
解壓order3數據表,使得其可以寫入數據:
(解壓同時索引自動重建)

執行flush操作,更新解壓后的數據:flush table 表名; //這邊直接寫表名就可以不帶路徑
該操作同時會刪除order3.MYD.00996D46.deleted的壓縮備份文件
innodb存儲引擎:適合做修改、刪除
Myisam存儲引擎:適合做查詢、寫入
#### Archive
歸檔型存儲引擎,該引擎只有寫入、查詢操作,沒有修改、刪除操作
比較適合存儲“日志”性質的信息。
#### memory
內存型存儲引擎,操作速度非常快速,比較適合存儲臨時信息,
服務器斷電,給存儲引擎的數據立即丟失。
#### 選擇引擎
Myisam和innodb
網站大多數情況下“讀和寫”操作非常多,適合選擇Myisam類型
例如 dedecms、phpcms內容管理系統(新聞網站)、discuz論壇
網站對業務邏輯有一定要求(辦公網站、商城)適合選擇innodb
Mysql5.5默認存儲引擎都是innodb的
Myisam和Innodb存儲引擎特點
Myisam
表結構、數據、索引 分別有對應的存儲文件
寫入數據非常快,安裝自然順序寫入數據
數據穩定后可以壓縮數據信息
支持全文索引
并發性:少低,鎖表操作
Innodb
表結構有單獨存儲文件,數據和索引共享同一個存儲文件(ibdata1、\*.ibd)
ibdata1 是全部innodb表的數據和索引的存儲文件
\*.ibd 是每個innodb表的數據和索引的存儲文件
支持事務和外鍵的
并發性:好,操作數據表時鎖定記錄(行)
Mysql5.6版本有支持全文索引
- PHP
- 頁面跳轉
- 數據類型和運算符
- 整形
- 浮點型
- 字符串型
- 布爾型
- 判斷數據類型
- 傳值
- 類型轉換
- 常量
- 進制轉換
- 運算符
- 各種結構
- 數組
- 分類
- 創建
- 多維數組
- 數組操作函數
- 數組指針
- 排序
- 數組交換需要注意的
- 函數
- 創建函數
- 參數傳遞
- 參數數量問題
- 返回值
- 可變函數
- 匿名函數
- 冒泡,選擇,二分
- 變量的作用域
- 局部作用域中使用全局
- use
- 有關函數的系統函數
- 遞歸
- 遞推(迭代)
- 面向對象
- 類和對象
- 值傳遞
- 引用傳遞
- 成員
- 構造和析構調用上級同類方法
- 重寫
- 最終類
- 最終方法
- 設計模式
- 抽象類
- 抽象方法
- 抽象類和抽象方法的細節
- 重載
- 接口
- 類和接口的總結
- 自動加載
- 克隆
- 對象的遍歷
- 內置標準類
- 其他類型轉對象類型
- 類型約束
- 魔術方法
- static關鍵字
- 命名空間
- 子級空間
- 引入機制
- 公共空間
- 使用注意
- 錯誤處理
- 錯誤的觸發
- 錯誤報告的顯示
- 錯誤日志的記錄問題
- 自定義錯誤處理器
- 異常拋出
- 文件鎖
- 文件處理
- 序列化與反序列化
- 目錄操作
- 文件操作
- 文件上傳
- $_FILFS
- 多文件上傳處理
- 繪圖技術
- 創建畫布資源
- 操作畫布
- 導出
- 銷毀資源
- 驗證碼
- 補充文件居中
- 在圖像上寫入一行TTF字體的文本
- 獲得圖像相關信息
- 水印
- 等比例縮放
- 常見錯誤
- HTTP協議
- URL的構成
- 請求
- 防盜鏈
- 響應
- 使用header()禁用緩存
- 下載文件的HTTP響應頭
- 文件下載
- HTTPS
- 會話技術
- cookie
- session
- PHP操作MySQL函數
- 登錄
- 一些函數
- 從結果集中取出一行數據
- 獲取行數,列數,字段名
- 安全
- 緩存
- 補充
- MySQL
- 語法
- 備份和恢復
- 注釋
- 語句行
- 字符集
- 校驗級
- 存儲引擎
- 數據庫操作
- 創建數據庫
- 刪除數據庫
- 顯示數據庫
- 修改數據庫
- 數據類型
- 整數類型
- 小數類型
- 日期時間型
- 字符和文本型
- enum類型
- set類型
- 時間類型
- 表操作
- 創建
- 索引
- 約束
- 表選項列表
- 表的其他語句
- 視圖語法
- 增刪改查
- 插入數據(增)
- 刪除數據(刪)
- 修改數據(改)
- 查詢(查)
- 用戶和權限管理
- 用戶管理
- 權限管理
- PDO
- 與PDO相關的幾個類
- 連接數據庫
- 使用
- PDO的錯誤處理
- PDO結果集對象
- pdo結果集對象的常用方法
- PDO預處理
- 常用屬性
- mysql編程
- 事務
- 語句塊
- mysql中的變量
- (存儲)函數
- 存儲過程procedure
- 觸發器(trigger)
- mysql優化
- 存儲引擎
- 字段類型
- 逆范式
- 索引
- Memcache
- 與redis區別
- 安裝
- php開啟擴展
- php操作memcache
- Key的命名
- 有效期
- 各種數據類型存儲
- 刪除
- 第三個參數壓縮作用
- 其他相關操作方法
- 終端命令操作方式
- 獲取memcache統計信息
- Git
- 創建一個git倉庫
- 添加
- 修改文件
- 刪除文件
- 克隆
- 個人網站
- Ajax
- 發起請求
- 接受響應
- 常用屬性和方法
- get和post
- get
- post
- 同步和異步
- 什么時候使用同步請求?
- 分頁
- xml的接收和處理
- JSON
- 無刷新表單提交和進度條
- JQuery操作ajax
- iframe
- 郵件
- 介紹
- 發送郵件
- 直投郵件
- 中轉郵件發送
- phpmailer
- 正則表達
- 簡單使用
- preg_match()
- 正則內容
- 定義字符集
- 特別字符集
- 組合字符集
- 限制字符
- 模式修正符
- 進行全局匹配