真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql是怎么預(yù)編譯的 mysql 預(yù)編譯

Mysql存儲過程是在創(chuàng)建時預(yù)編譯還是在執(zhí)行時預(yù)編譯,怎么能看出來或者怎么測出來

語法

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供治多網(wǎng)站建設(shè)、治多做網(wǎng)站、治多網(wǎng)站設(shè)計、治多網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、治多企業(yè)網(wǎng)站模板建站服務(wù),十載治多做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

show create {procedure|function} sp_name;

例如查看存儲過程myPro的創(chuàng)建語句

show create procedure myPro;

查看自定義函數(shù)myFunc的創(chuàng)建語句

show create function myFunc;

mysql 5.5.54 不支持 預(yù)編譯嗎

mysql 5.5.54 支持 預(yù)編譯

開始安裝mysql

1.1 創(chuàng)建用戶和組

groupadd mysql

useradd mysql -s /sbin/nologin -M -g mysql

1.2 解壓編譯MySQL

cd /root/tools

tar zxf mysql-5.5.32.tar.gz

cd mysql-5.5.32

#圖一

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \

-DMYSQL_DATADIR=/application/mysql-5.5.32/data \

-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \

-DENABLED_LOCAL_INFILE=ON \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FAST_MUTEXES=1 \

-DWITH_ZLIB=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DWITH_DEBUG=0

#圖二

make make install

#圖三

3

1.3添加鏈接

ln -s /application/mysql-5.5.32/ /application/mysql

mysql——預(yù)處理Prepared

某需求某一條 SQL 語句可能會被反復(fù)調(diào)用執(zhí)行,或者每次執(zhí)行的時候只有個別的值不同(比如 select 的 where 子句值不同,update 的 set 子句值不同,insert 的 values 值不同)。如果每次都需要經(jīng)過上面的詞法語義解析、語句優(yōu)化、制定執(zhí)行計劃等,則效率就明顯不行了。

所謂預(yù)編譯語句就是將此類 SQL 語句中的值用占位符替代,可以視為將 SQL 語句模板化或者說參數(shù)化,一般稱這類語句叫Prepared Statements。

預(yù)編譯語句的優(yōu)勢在于歸納為:一次編譯、多次運(yùn)行,省去了解析優(yōu)化等過程;此外預(yù)編譯語句能防止 SQL 注入。

注意:雖然可能是通過預(yù)處理 SQL 的方式一定程度的提高了效率,但是對于優(yōu)化而言,最優(yōu)的執(zhí)行計劃不是光靠 SQL 語句的模板化來實(shí)現(xiàn)的,往往還是需要通過具體值來預(yù)估出成本代價。

MySQL 官方將 prepare、execute、deallocate 統(tǒng)稱為 PREPARE STATEMENT。

步驟大概分為四步:

1 set —— SET @s = 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';

2 prepare —— PREPARE stmt2 FROM @s;

3 execute —— EXECUTE stmt2;

4 deallocate —— DEALLOCATE PREPARE stmt2;


本文標(biāo)題:mysql是怎么預(yù)編譯的 mysql 預(yù)編譯
URL地址:http://weahome.cn/article/ddoigoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部