亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

分享8個不得不說的MySQL陷阱

2024-07-25 19:08:08
字體:
來源:轉載
供稿:網友

Mysql安裝簡單,速度較快,功能豐富。另外它還是開源運動的標桿,它的偉大成就向我們展示了一個成功的公司是可以建立在開源代碼之上的。

然而用過mysql的人都曾對著顯示器揮舞過拳頭。但你不可能發明一種每秒能保存成千上萬行互聯網數據,并且一點錯誤都沒有的技術吧。

為了在這個夏天躁起來,我們列舉了8個抱怨開源關系型數據庫的理由。下面列舉的理由中不僅限于 MySQL,有一些是針對關系型數據庫的。如果我們沒有理清楚關系型數據庫和 MySQL,我們將會永遠陷入90年代的思想上。我們需要推倒然后重建這些?;蛘呶覀冝D向使用一個最近流行的,存在時間沒有長到可以列出一堆像下面一樣的理由的數據庫。

1、根深蒂固的bugs

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

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

2、關系表的不靈活性

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

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

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

MySQL的關聯規則讓每個人都誠實和謹慎,但它能強制我們避開易受攻擊和欺騙的麻煩。

3、JOIN聯合查詢

曾幾何時,將數據分表保存是計算機科學史上的偉大創新。分開后的表不僅結構簡單,也簡化了使用。但它卻需要使用join語句進行查詢。

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

這就是很多注重運行速度的開發者放棄數據分表轉而使用不規范數據表的原因。不區分數據實體,將所有數據保存到一個大表中——以避免復雜的查詢。這樣確實很快,并且服務器也不會耗盡內存。

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

4、分支的混亂

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

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

5、存儲引擎混亂

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

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

6、盈利的動機

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

7、原生 JSON 支持的缺乏

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

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

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

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

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

總結

以上所述是小編給大家分享的8個不得不說的MySQL陷阱,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品久久久久久综合乱菊| 大荫蒂欧美视频另类xxxx| 亚洲国产精品专区久久| 日韩精品中文字幕有码专区| 26uuu亚洲国产精品| xxx欧美精品| 美女999久久久精品视频| 国产精品中文字幕久久久| 91福利视频在线观看| 91chinesevideo永久地址| 亚洲欧美在线免费| 国产欧美精品日韩精品| www.99久久热国产日韩欧美.com| 美女av一区二区三区| 欧美日韩视频在线| 欧美激情乱人伦一区| 亚洲在线www| 国产精品美乳一区二区免费| 欧美精品激情在线| 亚洲欧美成人一区二区在线电影| 日韩中文娱乐网| 国产视频在线观看一区二区| 久久中文字幕一区| 欧美日韩美女视频| 国产成人精品久久二区二区91| 亚洲国产日韩欧美综合久久| 性欧美xxxx| 久久久人成影片一区二区三区观看| 亚洲美女精品成人在线视频| 成人网页在线免费观看| 亚洲aaa激情| 国产啪精品视频网站| 日本亚洲欧洲色| 国产日本欧美视频| 日韩视频免费观看| 国产综合色香蕉精品| 欧美性做爰毛片| 亚洲色图狂野欧美| 精品国偷自产在线| 欧美精品成人91久久久久久久| 国产极品精品在线观看| 久久精品一偷一偷国产| 91网站在线看| 日韩在线视频线视频免费网站| 国产精品青青在线观看爽香蕉| 91免费的视频在线播放| 久久国产精品偷| 久久久久九九九九| 久久久久久久久久国产| 日韩视频在线观看免费| 欧美中文字幕在线视频| 久久久精品久久久久| 一区二区在线视频| 精品国产区一区二区三区在线观看| 国产精品一区二区久久国产| 91在线免费视频| 国产福利成人在线| 亚洲欧美激情精品一区二区| 亚洲高清一二三区| 尤物九九久久国产精品的分类| 欧美一级电影在线| 国产亚洲a∨片在线观看| 日韩av日韩在线观看| 欧美成人午夜免费视在线看片| 欧美整片在线观看| 中文字幕最新精品| 欧美成人精品在线| 精品国产福利视频| 欧美壮男野外gaytube| 亚洲一区二区国产| 久久精品亚洲热| 日韩欧美中文字幕在线播放| 成人综合网网址| 成人精品福利视频| 久久高清视频免费| 欧美人交a欧美精品| 国产精品一区二区三区在线播放| 欧美在线欧美在线| 欧美大片网站在线观看| 日韩免费精品视频| 久久久久久国产精品| 一本一本久久a久久精品牛牛影视| 欧美日本在线视频中文字字幕| 精品国内产的精品视频在线观看| 成人黄色中文字幕| 欧美在线视频一区| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩专区在线观看| 亚洲免费电影一区| 国产精品女主播视频| 91日本在线观看| 亚洲欧美国产高清va在线播| 日韩精品黄色网| 97国产精品人人爽人人做| 亚洲视频自拍偷拍| 亚洲综合大片69999| 91在线播放国产| 亚洲国产欧美一区二区三区同亚洲| 成人黄色免费网站在线观看| 伊人伊成久久人综合网站| 欧美激情成人在线视频| 欧美精品videos性欧美| 亚洲欧洲成视频免费观看| 欧美中文字幕在线| 国产亚洲一级高清| 日本不卡视频在线播放| 亚洲free性xxxx护士白浆| 久久久久久久一区二区| 国产69久久精品成人看| 欧美成人免费在线视频| 青青青国产精品一区二区| 97色在线视频观看| 97成人精品视频在线观看| 国产精品1234| 欧美怡红院视频一区二区三区| 亚洲精品在线不卡| 久久精品久久精品亚洲人| 亚洲一区二区三区xxx视频| 久久精品成人欧美大片| 欧美丝袜第一区| 精品久久香蕉国产线看观看gif| 国语对白做受69| 中文字幕一区二区精品| 亚洲福利视频二区| 国产成人精品视频| 精品国产一区二区三区久久狼黑人| 91在线播放国产| 国产久一一精品| 色综合天天综合网国产成人网| 91精品视频在线看| 57pao成人国产永久免费| 亚洲a级在线观看| 成人国产在线激情| 92看片淫黄大片看国产片| 欧美大尺度电影在线观看| 成人福利视频在线观看| 亚洲美女av电影| 欧美中文字幕在线观看| 欧美日韩成人免费| 亚洲精品福利视频| 国产一区二区av| 日韩av免费在线看| 成人av在线亚洲| 高清欧美性猛交xxxx黑人猛交| 9.1国产丝袜在线观看| 成人黄色大片在线免费观看| 国产精品久久久久久亚洲影视| 欧美午夜性色大片在线观看| 国产99久久精品一区二区永久免费| 国产日本欧美一区二区三区| 亚洲的天堂在线中文字幕| 国产亚洲成精品久久| 92看片淫黄大片看国产片| 久久精品久久久久久| 中文字幕亚洲欧美日韩在线不卡| 国产精品678| 欧美日韩国产区| 日韩在线免费视频| 久久精品视频在线观看| 亚洲天堂成人在线| 久久久国产一区二区三区| 欧美日韩国产成人在线| 久久精品一偷一偷国产| 国产精品一二三在线|