MYSQL臨時表創建索引


DROP TEMPORARY TABLE IF EXISTS tmp_record_t2;
CREATE TEMPORARY TABLE tmp_record_t2
(
consumption_id INT(11) UNSIGNED NOT NULL,-- 店鋪ID
created_org INT,
return_money DECIMAL(11,2),-- 退菜金額
cash DECIMAL(11,2),-- 現金
member_card DECIMAL(11,2),-- 會員卡
bank_card DECIMAL(11,2),-- 銀行卡
credit DECIMAL(11,2),-- 掛賬
free DECIMAL(11,2),-- 免??
ticket DECIMAL(11,2),-- 票券
foregift DECIMAL(11,2), -- 訂金
wxzf DECIMAL(11,2), -- 微信支付
KEY pk(consumption_id) -- 創建索引,這個在臨時表關聯的時候非常重要,可以提高速度10倍
)ENGINE=MEMORY DEFAULT CHARSET=utf8 ;

tablestr2為動態的語句,將結果插入到臨時表

SET @exe_sql = CONCAT('INSERT INTO tmp_record_t2 ',@tablestr2);
PREPARE stmt FROM @exe_sql ;
EXECUTE stmt ;

臨時表默認的方式是 MyISAM

但是 MEMORY比MyISAM快大概20%。 所以指定MEMORY方式

 參考:http://wenku.baidu.com/link?url=h1rkLZdfavLLboTr9jph_l5MGcxyj5_E9f2tXss-l8ZWCvlvHIOuqu5N1qlvfwwdctDYQ7FqY9G7iZwQXV78oK0rorE7DTXIEwna3Dp5aqK

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM