iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL陷阱有哪些
  • 707
分享到

MySQL陷阱有哪些

2024-04-02 19:04:59 707人浏览 安东尼
摘要

小编给大家分享一下Mysql陷阱有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、根深蒂固的bugs任何大的软件包都有 b

小编给大家分享一下Mysql陷阱有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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 付费,比自己来编写代码要便宜得多。有时商业的、不开源的代码是有意义的。事实不言而喻。

以上是“MySQL陷阱有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL陷阱有哪些

本文链接: https://www.lsjlt.com/news/57655.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL陷阱有哪些
    小编给大家分享一下MySQL陷阱有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、根深蒂固的bugs任何大的软件包都有 b...
    99+
    2022-10-18
  • Python陷阱与缺陷列表有哪些
    本篇内容主要讲解“Python陷阱与缺陷列表有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python陷阱与缺陷列表有哪些”吧!比如,Python程序员应该都遇到过的“UnboundLoc...
    99+
    2023-06-02
  • JavaScript中this陷阱有哪些
    这篇文章主要为大家展示了“JavaScript中this陷阱有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中this陷阱有哪些”这篇文...
    99+
    2022-10-19
  • 有哪些C++陷阱与套路
    这篇文章主要讲解了“有哪些C++陷阱与套路”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些C++陷阱与套路”吧!# 一、导语C++是一门被广泛使用的系统级编程语言,更是高性能后端标准开发...
    99+
    2023-06-16
  • MySQL中主键与rowid的使用陷阱有哪些
    这篇文章主要为大家展示了“MySQL中主键与rowid的使用陷阱有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中主键与rowid的使用陷阱有哪些...
    99+
    2022-10-18
  • NoSQL数据库的陷阱有哪些
    本篇内容介绍了“NoSQL数据库的陷阱有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Schema管理...
    99+
    2022-10-18
  • JavaScript中常见的陷阱有哪些
    这篇文章主要讲解了“JavaScript中常见的陷阱有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中常见的陷阱有哪些”吧!1. ...
    99+
    2022-10-19
  • Flex数据绑定陷阱有哪些
    这篇文章主要为大家展示了“Flex数据绑定陷阱有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Flex数据绑定陷阱有哪些”这篇文章吧。Flex数据绑定陷阱◆Usingbindinginpla...
    99+
    2023-06-17
  • MySQL增删改查方法与常见陷阱有哪些
    本文小编为大家详细介绍“MySQL增删改查方法与常见陷阱有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL增删改查方法与常见陷阱有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2022-11-30
    mysql
  • C语言的使用陷阱有哪些
    这篇文章主要讲解了“C语言的使用陷阱有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言的使用陷阱有哪些”吧!1. 正确理解函数声明你是否见过这样的代码“(*(void(*)())0)...
    99+
    2023-06-16
  • linux中Shell脚本编程陷阱有哪些
    这篇文章给大家分享的是有关linux中Shell脚本编程陷阱有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Shell 脚本很棒,你可以非常轻松地写出有用的东西来。甚至像是下面这个傻瓜式的命令:# ...
    99+
    2023-06-16
  • SQL面试的技巧和陷阱有哪些
    本篇内容介绍了“SQL面试的技巧和陷阱有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!提问要拿下一场S...
    99+
    2022-10-19
  • Python量化回测常见陷阱有哪些
    这篇文章主要介绍“Python量化回测常见陷阱有哪些”,在日常操作中,相信很多人在Python量化回测常见陷阱有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python量化回测常见陷阱有哪些”的疑惑有所...
    99+
    2023-06-02
  • 程序员必知的Python陷阱与缺陷列表有哪些
    程序员必知的Python陷阱与缺陷列表有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我个人对陷阱的定义是这样的:代码看起来可以工作,但不是以你“想当然“”的方式。如果一段...
    99+
    2023-06-17
  • 香港服务器租用的陷阱有哪些
    香港服务器租用的陷阱有:1、服务器以次充好,不知名的小主机商提供质量不过关的产品和服务,包括服务器的硬件、带宽、电力供应、机房环境等;2、服务器机房环境差,无法保证恒温恒湿,对噪音、电力、电源、防水、防震、防火、防雷等调控;3、售后服务虚假...
    99+
    2022-10-13
  • 香港cn2空间租用的陷阱有哪些
    香港cn2空间租用的陷阱有:1、以次充好,不知名的小主机商提供质量不过关的产品和服务,包括服务器的硬件、带宽、电力供应、机房环境等;2、机房环境差,无法保证恒温恒湿,对噪音、电力、电源、防水、防震、防火、防雷等调控;3、售后服务虚假承诺,如...
    99+
    2022-10-06
  • python使用语句的常见陷阱有哪些
    这篇文章主要为大家展示了“python使用语句的常见陷阱有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python使用语句的常见陷阱有哪些”这篇文章吧。1、冗余input语句的冗余使用,这...
    99+
    2023-06-20
  • web网页抓取中的常见陷阱有哪些
    本篇内容主要讲解“web网页抓取中的常见陷阱有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web网页抓取中的常见陷阱有哪些”吧!  1、更改页面的HTML  这是网页抓取脚本停止工作的最常...
    99+
    2023-06-21
  • Go语言开发中常见的陷阱有哪些
    今天小编给大家分享一下Go语言开发中常见的陷阱有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2022-10-19
  • Python入门知识需要注意的陷阱有哪些
    这篇文章主要讲解了“Python入门知识需要注意的陷阱有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python入门知识需要注意的陷阱有哪些”吧!Python以语法简单、关键字少著称,...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作