自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL系統(tǒng)變量應用探究

數(shù)據(jù)庫 MySQL
MySQL里的變量分系統(tǒng)變量和用戶變量,其中系統(tǒng)變量,又分全局(global)和會話(session)兩種,下面就讓我們一起了解一下MySQL系統(tǒng)變量的應用。

MySQL系統(tǒng)變量是MySQL數(shù)據(jù)庫的重要組成部分,下面就為您分析MySQL系統(tǒng)變量的具體應用,如果您對MySQL系統(tǒng)變量感興趣的話,不妨一看。

MySQL系統(tǒng)變量
其中系統(tǒng)變量,又分全局(global)和會話(session)兩種.

全局系統(tǒng)變量,主要影響整個mysql實例的全局設置.
大部分變量都是作為mysql的服務器調(diào)節(jié)參數(shù)存在.新增或修改這類變量, 會影響mysql的運行方式.
比如: auto_increment_increment 代表序列的自增值, 默認為1

另外, mysql中,只有一部分變量是支持運行時動態(tài)修改的.
變量修改的作用范圍,是那些重新創(chuàng)建連接到mysql服務器的客戶端連接.

如果你的連接是由應用通過連接池來維護的,并且,是長連接的,那么,此時在服務器運行過程中,動態(tài)地修改全局變量對你是沒有什么影響的.

通過全局變量, 我們可以想到一些應用場景:
1,  在存儲過程, 函數(shù), sql里,使用一些業(yè)務相關(guān)的全局變量.
經(jīng)常編寫業(yè)務相關(guān)的存儲過程,函數(shù)的朋友, 可能會需要針對不同業(yè)務,設置能共享訪問的全局變量.


比如, 公司的總?cè)藬?shù),很多存儲過程都需要調(diào)用這個值,但是因為這個值,不是經(jīng)常會改變的,不需要每次都count.
所以大多數(shù)人會考慮把它cache一把,那么mysql提供的全局變量,就是一個好的存儲場所.

2,  數(shù)據(jù)庫配置中心

首先,這不一定是一種好的解決方式, 特別是大型地分布式系統(tǒng).但是想到了,就跟大家分享一下.
主要就是利用了三層,四層架構(gòu)的系統(tǒng), 必不可少的數(shù)據(jù)庫層來實現(xiàn)的.

大家知道, 應用的配置, 大多數(shù)是用配置文件或配置服務器來實現(xiàn), 前者需要跟著項目打包, 部署.
后者, 只要在應用初始化或運行時,去配置中心取配置就行了.(淘寶這邊兩者都在用)

而數(shù)據(jù)庫的配置中心, 其實類似配置服務器, 只不過靈活運用了mysql的變量機制.
它能繼承配置服務器的多數(shù)優(yōu)點, 但***的特色就是在 sql, function , procedure 里都可以很方便地引用到.(相比用表的方式, 要方便一些)
并且本身就具有緩存, 移植得話, mysql得導出也是很快.
所以小系統(tǒng), 想快速得搭建一個配置中心,利用mysql感覺還是不錯的.

調(diào)用語法:
select * from user_info where id = @@global.admin_id -- 例子,通過全局里配置的管理員id來取用戶信息

以下是全局變量的一些常用命令,比較簡單:
set global auto_increment_increment=1; -- 設置序列的增長值
show global variables; --  顯示所有的global變量
show global variables like '%test%' -- 查詢包含test字符串的global變量
會話系統(tǒng)變量, 主要用于在當前客戶端連接的生命周期內(nèi).它的變量值是全局變量的一份拷貝.
如果連接斷開, 對當前會話變量所做修改都會被重置.

比如, 服務器會話變量 autocommit 默認為 true , 而你在非常連的客戶端連接里設置了 false , 那么在執(zhí)行完sql后, 連接就會斷開. 此后,如果創(chuàng)建新的連接來執(zhí)行sql, autocommit又會默認 true.

會話變量的使用場景與全局類似,只是生命周期不同, 因此可以用來統(tǒng)計同一連接內(nèi)請求sql次數(shù), sql類型等信息.

session變量的一些常用操作:
set session auto_increment_increment=1; -- 設置序列的增長值
show variables; or show session variables; --  如果不指明, 默認使用session變量
show variables like '%test%' or show session variables lile '%test%' -- 查詢包含test字符串的session變量
 

 

 

【編輯推薦】

分析比較兩種MySQL字符串匹配模式

NULL與MySQL空字符串的區(qū)別

深入研究MySQL結(jié)果字符串

MySQL截取字符串函數(shù)方法

MySQL字符串各列類型的區(qū)別

責任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-10-19 10:31:53

綜合布線屏蔽系統(tǒng)

2016-08-16 00:40:37

IT支撐系統(tǒng)云計算資源池

2017-01-11 11:41:15

云計算

2010-11-26 14:20:28

MySQL系統(tǒng)變量

2009-10-28 10:26:36

2014-04-02 17:10:00

虛擬應用工作原理

2010-09-10 09:38:36

SQL系統(tǒng)變量

2021-08-17 10:31:57

Java JakartaEE Spring

2009-10-29 14:07:35

ROF接入技術(shù)

2010-08-04 09:43:28

Flex應用程序

2022-09-27 21:22:02

SQL Server數(shù)據(jù)庫

2023-11-17 08:02:34

系統(tǒng)調(diào)用linux

2009-10-20 10:24:44

綜合布線系統(tǒng)

2022-09-29 19:37:09

SQL Server數(shù)據(jù)庫

2009-11-17 16:04:38

應用型路由器

2011-08-22 13:38:41

Linux變量

2018-03-20 12:48:58

數(shù)據(jù)庫MySQL變量配置

2009-10-19 14:46:59

綜合布線系統(tǒng)

2009-11-17 18:21:42

路由器配置

2022-10-13 21:07:48

數(shù)據(jù)庫SQL Server
點贊
收藏

51CTO技術(shù)棧公眾號