日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql研究内容_基于MySQL数据库的数据管理的研究

發(fā)布時(shí)間:2024/1/8 数据库 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql研究内容_基于MySQL数据库的数据管理的研究 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【摘 要】MySQL 是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),MySQL數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言,即結(jié)構(gòu)化查詢(xún)語(yǔ)言進(jìn)行數(shù)據(jù)庫(kù)管理。緩存管理是對(duì)于文件數(shù)據(jù)在內(nèi)存中的特殊管理,基于內(nèi)存管理,向文件系統(tǒng)提供服務(wù)。而在內(nèi)存管理器將緩存頁(yè)面真正寫(xiě)入磁盤(pán)時(shí),又調(diào)用文件系統(tǒng)的接口然后走磁盤(pán)設(shè)備驅(qū)動(dòng)。本章將介紹基于MySQL數(shù)據(jù)庫(kù)中緩存管理等知識(shí)。

【關(guān)鍵詞】MySQL;緩存;查詢(xún)

在數(shù)據(jù)庫(kù)中,用戶(hù)可能多次執(zhí)行相同的查詢(xún)語(yǔ)句。為了提高查詢(xún)效率,數(shù)據(jù)庫(kù)會(huì)在內(nèi)存在劃分一個(gè)專(zhuān)門(mén)的區(qū)域,用來(lái)存放用戶(hù)最近執(zhí)行的查詢(xún),這塊區(qū)域就是緩存。因?yàn)閮?nèi)存的運(yùn)行速度要比硬盤(pán)快的多。為此通過(guò)緩存機(jī)制,就可以提高查詢(xún)的效率。當(dāng)用戶(hù)下一次再執(zhí)行相同查詢(xún)時(shí),就可以直接從緩存中獲取數(shù)據(jù),而不用到硬盤(pán)中的數(shù)據(jù)文件中去讀取數(shù)據(jù),也可以省去相關(guān)解析的工作。

1.數(shù)據(jù)管理的應(yīng)用

并不是在任何情況下數(shù)據(jù)管理都能夠起到應(yīng)有的效果。如果企業(yè)有一個(gè)不經(jīng)常改變的表并且服務(wù)器受到這個(gè)表的大量的相同查詢(xún)時(shí),數(shù)據(jù)管理才能夠起到不錯(cuò)的效果。通常情況下,針對(duì)Web的應(yīng)用,效果會(huì)比較明顯。如現(xiàn)在在數(shù)據(jù)庫(kù)中有一張產(chǎn)品信息表。企業(yè)的用戶(hù)需要通過(guò)網(wǎng)頁(yè)來(lái)查詢(xún)產(chǎn)品的信息。如果在系統(tǒng)設(shè)計(jì)時(shí),默認(rèn)查詢(xún)的結(jié)果是顯示最近一個(gè)月交易過(guò)的產(chǎn)品信息。那么每次用戶(hù)按默認(rèn)情況查詢(xún)產(chǎn)品信息時(shí),將都會(huì)從緩存中獲取信息(如果相關(guān)的信息沒(méi)有被更新過(guò))。此時(shí)系統(tǒng)查詢(xún)的速度就會(huì)比較快。

如果企業(yè)有一個(gè)不經(jīng)常改變的表并且服務(wù)器受到這個(gè)表的大量的相同查詢(xún)時(shí),筆者就建議大家啟用數(shù)據(jù)管理機(jī)制。在啟動(dòng)之前,可以先使用命名來(lái)查詢(xún)現(xiàn)在系統(tǒng)緩存是否開(kāi)啟。如果查詢(xún)的結(jié)果是YES的話,那么就說(shuō)明系統(tǒng)中已經(jīng)開(kāi)啟了數(shù)據(jù)管理機(jī)制。

只有當(dāng)數(shù)據(jù)庫(kù)里已經(jīng)有了足夠多的測(cè)試數(shù)據(jù)時(shí),它的性能測(cè)試結(jié)果才有實(shí)際參考價(jià)值。如果在測(cè)試數(shù)據(jù)庫(kù)里只有幾百條數(shù)據(jù)記錄,它們往往在執(zhí)行完第一條查詢(xún)命令之后就被全部加載到內(nèi)存里。

2. 使用數(shù)據(jù)管理的方式

并不是在任何情況下,數(shù)據(jù)管理都會(huì)起到改善查詢(xún)的效果。在以下幾種情況,數(shù)據(jù)管理機(jī)制的效果并不會(huì)很大。

一是查詢(xún)所涉及到的表會(huì)經(jīng)常更改。如在一個(gè)進(jìn)銷(xiāo)存管理系統(tǒng)中,可能會(huì)有產(chǎn)品與銷(xiāo)售記錄兩張表格。產(chǎn)品表一般不怎么會(huì)更新,而銷(xiāo)售記錄表就可能每分鐘都會(huì)發(fā)生變化。此時(shí)對(duì)于銷(xiāo)售記錄表來(lái)說(shuō),采用緩存機(jī)制就不會(huì)起到多大的效果。因?yàn)楦鶕?jù)緩存的工作原理,當(dāng)某個(gè)表被更改后,其對(duì)應(yīng)的數(shù)據(jù)管理的相關(guān)條目就會(huì)被清空。

二是查詢(xún)緩存不使用與服務(wù)器方便些的語(yǔ)句。根據(jù)B/S或者C/S架構(gòu),可以將相關(guān)應(yīng)用分為服務(wù)器斷和客戶(hù)端兩類(lèi)。在使用數(shù)據(jù)管理時(shí),數(shù)據(jù)庫(kù)管理員要考慮到,在MySQL數(shù)據(jù)庫(kù)中,查詢(xún)緩存并不適用于服務(wù)器方所編寫(xiě)的查詢(xún)語(yǔ)句。當(dāng)數(shù)據(jù)庫(kù)管理員正在使用服務(wù)器方編寫(xiě)的語(yǔ)句時(shí),要注意到這些語(yǔ)句并不會(huì)應(yīng)用緩存技術(shù)。

三是查詢(xún)時(shí)使用緩存的兩個(gè)基本條件:所采用的查詢(xún)語(yǔ)句完全一致。不僅包括查詢(xún)的字段,也包括查詢(xún)的條件。如果用戶(hù)查詢(xún)一個(gè)產(chǎn)品信息表,使用了查詢(xún)條件,只查詢(xún)最近一個(gè)月新建的產(chǎn)品信息。顯然此時(shí)查詢(xún)的結(jié)果是查詢(xún)的子集,應(yīng)該可以使用數(shù)據(jù)管理。數(shù)據(jù)庫(kù)仍然會(huì)先重新解析SQL語(yǔ)句,然后從硬盤(pán)上的數(shù)據(jù)文件中去獲取數(shù)據(jù)。

數(shù)據(jù)類(lèi)型的大小也會(huì)影響到基礎(chǔ)表的大小。如對(duì)于MEDIUMINT和INT兩個(gè)數(shù)據(jù)類(lèi)型,其都可以用來(lái)保存整數(shù)型的數(shù)據(jù),只是其能夠保存的精度不同而已。

用戶(hù)在查詢(xún)語(yǔ)句中,使用了自定義函數(shù)、自定義變量或者因引用了系統(tǒng)數(shù)據(jù)庫(kù)中的表,那么緩存機(jī)制可能會(huì)失效。

3.提高數(shù)據(jù)管理的使用效率

通過(guò)數(shù)據(jù)庫(kù)的合理設(shè)計(jì),可以提高緩存的使用效率,擴(kuò)大緩存的使用領(lǐng)域。具體的說(shuō),數(shù)據(jù)庫(kù)管理員可以從如下幾個(gè)方面出發(fā)。

⑴根據(jù)數(shù)據(jù)變化的頻率來(lái)分解表

如現(xiàn)在有產(chǎn)品基本資料與產(chǎn)品最新庫(kù)存兩部分內(nèi)容。在不考慮緩存的情況下,可以將產(chǎn)品基本資料與產(chǎn)品庫(kù)存放在同一個(gè)表中,然后通過(guò)其他作業(yè)來(lái)更新這個(gè)庫(kù)存數(shù)量。如此的話,在前臺(tái)界面中,就可以直觀的反映出產(chǎn)品的庫(kù)存數(shù)量。但是從緩存的設(shè)計(jì)角度來(lái)看,這么操作并不是很合理。因?yàn)楫a(chǎn)品信息相對(duì)來(lái)說(shuō)不怎么會(huì)變化,而庫(kù)存數(shù)量卻經(jīng)常在發(fā)生變化。如果將他們放在同一張表上,由于庫(kù)存數(shù)量的不斷更新,數(shù)據(jù)管理中的內(nèi)容就會(huì)不斷被清空(與產(chǎn)品信息表相關(guān)的數(shù)據(jù)管理)。此時(shí)如果很多用戶(hù)要查詢(xún)產(chǎn)品的描述、規(guī)格(他們可能并不關(guān)注產(chǎn)品的庫(kù)存),那么他們就無(wú)法使用數(shù)據(jù)管理。因?yàn)榫彺嬷袥](méi)有相關(guān)的數(shù)據(jù)(由于庫(kù)存數(shù)量不斷變化而被清空)。

遇到這種情況時(shí),數(shù)據(jù)庫(kù)管理員就可以將庫(kù)存數(shù)量與產(chǎn)品基本信息存放在兩張不同的表上,然后通過(guò)關(guān)鍵字來(lái)進(jìn)行關(guān)聯(lián)。這么做的好處就是庫(kù)存數(shù)量更新并不會(huì)影響到產(chǎn)品基本信息表所對(duì)應(yīng)的數(shù)據(jù)管理(他們是兩張表)。從而提高產(chǎn)品信息查詢(xún)時(shí)的緩存命中率。

⑵采用默認(rèn)條件的查詢(xún)

在上面的分析中筆者談到,要兩條完全相同的SQL語(yǔ)句才能夠使用緩存。條件不同或者使用的字段不同,數(shù)據(jù)庫(kù)系統(tǒng)都不會(huì)使用緩存來(lái)進(jìn)行查詢(xún)優(yōu)化。

采用默認(rèn)條件的查詢(xún)來(lái)提高緩存命中率。如在設(shè)計(jì)產(chǎn)品信息查詢(xún)這個(gè)功能,可以考慮默認(rèn)查詢(xún)?nèi)啃畔⒒蛘咧付硞€(gè)固定的條件。如此就可以提高緩存的命中率。而不要在不同的用戶(hù)界面設(shè)置不同的默認(rèn)值。某些應(yīng)用系統(tǒng),為了提高界面的友好性,會(huì)給用戶(hù)提供一些個(gè)性化設(shè)置的參數(shù),以保存用戶(hù)的個(gè)性化內(nèi)容。此時(shí)雖然可以提高界面的人性化,但是顯然會(huì)降低數(shù)據(jù)管理的命中率。遇到這種情況時(shí),數(shù)據(jù)庫(kù)管理員就需要在人性化設(shè)計(jì)與系統(tǒng)的查詢(xún)性能之間進(jìn)行均衡。

不同的應(yīng)用針對(duì)同一個(gè)表格的相同查詢(xún),其查詢(xún)語(yǔ)句最好相同。如現(xiàn)在對(duì)于產(chǎn)品信息,即可以通過(guò)產(chǎn)品信息窗口進(jìn)行查詢(xún),也可以根據(jù)報(bào)表來(lái)查詢(xún)。此時(shí)其對(duì)應(yīng)的后臺(tái)表格是相同的。只要其執(zhí)行的查詢(xún)語(yǔ)句相同、并且在這段時(shí)間之內(nèi)數(shù)據(jù)庫(kù)表格沒(méi)有發(fā)生變化,那么系統(tǒng)就可以從緩存中獲取數(shù)據(jù)。在實(shí)際工作中,窗體與報(bào)表往往是有不同的人設(shè)計(jì)與開(kāi)發(fā)的。不同的用戶(hù)之間要統(tǒng)一SQL語(yǔ)句的書(shū)寫(xiě)規(guī)范。項(xiàng)目管理員要根據(jù)實(shí)際情況來(lái)制定相關(guān)的規(guī)則。

⑶提高緩存空間大小來(lái)提高數(shù)據(jù)庫(kù)的緩存使用率

當(dāng)數(shù)據(jù)管理滿時(shí),新的數(shù)據(jù)會(huì)覆蓋舊的數(shù)據(jù)。在這種情況下,即使查詢(xún)的語(yǔ)句相同、表格也沒(méi)有發(fā)生變化,數(shù)據(jù)庫(kù)系統(tǒng)仍然要從硬盤(pán)上的數(shù)據(jù)文件中去獲取數(shù)據(jù),所以,應(yīng)該增加服務(wù)器上緩存的空間。

總之,MySQL提供了TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑,提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。利用MySQL技術(shù)可以很好地對(duì)系統(tǒng)的緩存進(jìn)行管理,提高了查詢(xún)的效率,提高緩存的使用率,靈活的緩存可以說(shuō)不僅大大減輕了服務(wù)器的壓力,而且因?yàn)楦焖俚挠脩?hù)體驗(yàn)而方便了用戶(hù)。

參考文獻(xiàn):

[1]《php+mysql完全學(xué)習(xí)手冊(cè)》黃桂金,清華大學(xué)出版社,2008-6.

[2]《mysql高效編程》王志剛,人民郵電出版社,2012-1.

[3]《php+mysql動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)指南》楊智宇,科學(xué)出版社,2008-6.

作者簡(jiǎn)介:

李亞鵬(1970-),男,漢族,吉林省公主嶺市人,副教授,研究方向:計(jì)算機(jī)軟件和硬件的教學(xué)、研制以及開(kāi)發(fā)工作。

總結(jié)

以上是生活随笔為你收集整理的mysql研究内容_基于MySQL数据库的数据管理的研究的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。