在MySQL中,你可以定義一個用C++寫地過程,它能在查詢被送到客戶前存取和修改查詢中的數據。修改可一行一行地或在GROUP
BY層次上進行。
我們已經在MySQL3.23中創建了一個過程例子來顯示它能做什。
analyse([max elements,[max memory]])
這個過程定義在“sql/sql_analyse.cc”,它檢驗來自你的查詢的結果並返回結果的分析。
max elements(缺省256)是analyse將注意的每列不同值的最大數量。這被analyse用來檢查最佳的列類型是否應該是ENUM類型。
max memory(缺省8192)是在analyse嘗試尋找所有不同值的時候應該分配給每列的最大內存量。
SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max elements,[max memory]])
暫時,對此的唯一文檔是源代碼。:(
你可以檢驗下列文件找到關過程的所有信息:
- “sql/sql_analyse.cc”
- “sql/procedure.h”
- “sql/procedure.cc”
- “sql/sql_select.cc”
(http://www.fanqiang.com)
進入【