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

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

MySQL陷阱有哪些-創(chuàng)新互聯(lián)

小編給大家分享一下MySQL陷阱有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元連城做網(wǎng)站,已為上家服務(wù),為連城各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

1、根深蒂固的bugs

任何大的軟件包都有 bug。但稍微深入了解一下,就會發(fā)現(xiàn)和 Mysql 相關(guān)的 bugs 自成體系。突然你就需要留心,因為 NULL 并不是以同樣的方式出現(xiàn),外鍵約束也沒有像你想像的那樣執(zhí)行,連主鍵自動增長也會出錯。

小問題大量存在,而且并不總是可以修復(fù),這就是為什么一些人保持一個列表。還好 MySQL 維護(hù)著一個非常好的 bug 報告系統(tǒng),讓我們可以知道我些我們無法想像的事情,知道其他人也在經(jīng)受同樣的磨難。

2、關(guān)系表的不靈活性

關(guān)系表具有條理性,條理性是好的——但是,它使得程序員不得不編造或硬塞一些數(shù)據(jù)到已經(jīng)定義好模式的列中。NoSQL開始越來越受到歡迎的原因之一,就是它為程序員提供了足夠的靈活性,來加速數(shù)據(jù)庫的使用。如果一個街道地址需要增加一行,那么,你可以將它很容易地插入到一個NoSQL文檔中。如果你想添加一個完整的新的數(shù)據(jù)塊,無論它包含什么內(nèi)容,文檔模型也可以原封不動地接受你的數(shù)據(jù),而不必改為它要求的數(shù)據(jù)格式。

試想一下,你用整數(shù)格式建立了一個全部是郵編的表格。這個表是十分高效的,它執(zhí)行的規(guī)則也很好。突然一次,有人上傳了一個使用了連字符的九位數(shù)郵編。或者還有可能,你得到了一位來自加拿大客戶的信件,上面寫有郵政編碼。

這時,一切都亂了。老板要求網(wǎng)站要在幾小時內(nèi)恢復(fù)正常工作。然而,現(xiàn)在已經(jīng)沒有時間來重建數(shù)據(jù)庫。程序員可以做什么?也許,可以使用黑客手段把加拿大郵政編碼由base64的數(shù)字格式改為base 10格式?或者設(shè)置一個使用轉(zhuǎn)義編碼的輔助表格,用來說明真正的郵政編碼或者其他?誰知道呢?到處都有黑客,他們都是危險的。但你沒有時間來搞定它。

MySQL的關(guān)聯(lián)規(guī)則讓每個人都誠實和謹(jǐn)慎,但它能強制我們避開易受攻擊和欺騙的麻煩。

3、JOIN聯(lián)合查詢

曾幾何時,將數(shù)據(jù)分表保存是計算機科學(xué)史上的偉大創(chuàng)新。分開后的表不僅結(jié)構(gòu)簡單,也簡化了使用。但它卻需要使用join語句進(jìn)行查詢。

sql通過一系列join構(gòu)建的復(fù)雜查詢將開發(fā)者推入了困惑與絕望的深淵。而且存儲引擎也需要以最優(yōu)的方式來高效地解析join語句。開發(fā)者需要絞盡腦汁編寫查詢語句,然后數(shù)據(jù)庫對其進(jìn)行解析。

這就是很多注重運行速度的開發(fā)者放棄數(shù)據(jù)分表轉(zhuǎn)而使用不規(guī)范數(shù)據(jù)表的原因。不區(qū)分?jǐn)?shù)據(jù)實體,將所有數(shù)據(jù)保存到一個大表中——以避免復(fù)雜的查詢。這樣確實很快,并且服務(wù)器也不會耗盡內(nèi)存。

磁盤空間現(xiàn)在很廉價。8TB的磁盤已經(jīng)在售,更大的也要上市了。我們不再需要為使用join而絞盡腦汁了。

4、分支的混亂

是的,一個可靠的、得到良好支持的MySQL分支,可以帶來競爭和選擇,但是它也引起困惑和混亂。更糟糕的是,一個稱為MariaDB的MySQL分支,由Monty Widenius維護(hù)著。他同樣也在參與編寫MySQL。那么,MariaDB是真正獨立的值得我們擁護(hù)的嗎?或者它是MySQL?我們是否應(yīng)該堅持使用由創(chuàng)建原始MySQL數(shù)據(jù)庫的組織運營的核心代碼?或者我們應(yīng)該加入那些被認(rèn)為更聰明的,往往很酷的背叛者?

還有,我們應(yīng)當(dāng)如何獲得關(guān)于兼容性的信息?一方面,我們被確信MariaDB和MySQL十分地相似。另一方面,我們要相信有差異——不然為什么大家都在爭論它?也許它們在性能和我們查詢的范圍內(nèi),在兩個陣營中工作方式相同?但也許他們不同-或者將來會不同。

5、存儲引擎混亂

MySQL不是事實上的同一的數(shù)據(jù)庫;它由幾個數(shù)據(jù)庫組成,它們的大多數(shù)細(xì)節(jié)都被統(tǒng)一的表面所掩蓋。在開始的時候,有一個MyISAM引擎,它很快但是在前后一致上不能做到完備。有時候你需要速度并且可以接受不一致的結(jié)果時是很好的。

當(dāng)人們需要更多時,具備完整事務(wù)支持的InnoDB出現(xiàn)了。但這還不夠?,F(xiàn)在,它可能有20種存儲引擎的選擇——這足以使一個數(shù)據(jù)庫管理員瘋狂。當(dāng)然,有些時候在不同的存儲引擎之間切換而不必重寫你的SQL是很好的,但是切換后總會帶來混亂。這個表格我選擇的引擎是 MyISAM 還是 innoDB 呢?或者,我決定輸出的數(shù)據(jù)是CSV格式的嗎?

6、盈利的動機

雖然 MySQL 是一款成功的開源產(chǎn)品,但它仍然是一門生意,里面滿是靠它獲得薪水的專業(yè)開發(fā)者。當(dāng)大多數(shù)用戶在持續(xù)地享受開源許可證帶來的最佳體驗時,毫無疑問這家公司還在為賺取足夠的錢來維持運營而努力。這導(dǎo)致自由代碼在“社區(qū)版”和出售給企業(yè)的完整產(chǎn)品之間產(chǎn)生了奇怪的分岐。
你應(yīng)該付錢嗎?你在這里掙到了多少錢?在社區(qū)版之上開展經(jīng)營行為是否公平?企業(yè)版中額外的功能,是否只是一個噱頭來引誘我們不斷付費呢?這至少說明一點,它是另一組需要回答的問題。選用哪個版本?遵照哪種許可證?選用它的哪個功能集?

7、原生 JSON 支持的缺乏

看 MySQL 的年齡最好的辦法是安裝它,然后你會意識到需要添加更多的驅(qū)動程序使它可用。MySQL 通常在 3306 端口上通信,它一般輸出的是它自己難以理解的格式化數(shù)據(jù)。如果你想讓你的代碼和它通信,你必須添加另一層的代碼,將 MySQL 的語言轉(zhuǎn)換成有用的東西。這些層的代碼,以庫的形式分發(fā),經(jīng)常需要人們購買一個商業(yè)的許可證。

現(xiàn)代數(shù)據(jù)存儲層通常直接以 JSON 通信。雖然 MySQL 和 MariaDB 現(xiàn)在有能力解析 SQL 中的 JSON 部分,但這還遠(yuǎn)遠(yuǎn)不夠好,原生的 JSON 接口已經(jīng)在 CouchDB,MongoDB,或任何最新的工具中廣泛使用。

8、封閉源和專有模塊的興起

我說過 MySQL 是開源的嗎?它是,但除了一些在”開源核心“周邊開發(fā)的一些較新的、非開源的代碼、專有模塊。程序員需要吃飯,Oracle需要拿它的辛苦成果來換錢,這是商業(yè)的現(xiàn)實之一。它不像那些醫(yī)院,使用 MySQL 可以免費醫(yī)療護(hù)理。它不象那些農(nóng)民,使用 MySQL 可以贈送食物。

要求 MySQL 始終堅持在一個很高的標(biāo)準(zhǔn)是有點不公平的,因為開源的成功可能是一個圈套。這是因為它開始可以免費,但并不意味著它可以始終如此。如果企業(yè)需要許多新的功能,他們將不得不用這種或那種方式付費。有時向 Oracle 付費,比自己來編寫代碼要便宜得多。有時商業(yè)的、不開源的代碼是有意義的。事實不言而喻。

以上是“MySQL陷阱有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前文章:MySQL陷阱有哪些-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://weahome.cn/article/cdsogh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部