|
|
1
22
有些数据库管理系统将整个数据库存储在一个文件中,有些将表、索引和其他对象类型拆分为单独的文件,有些数据库管理系统不是按对象类型而是按存储/大小标准拆分文件,有些甚至可以 entirely bypass the file system 我不知道MySQL使用哪一种策略(这可能取决于您是否使用MyISAM和InnoDB等),但幸运的是,这并不重要:从客户端的角度来看,这是一个数据库管理系统的实现细节,客户端应该很少担心。
首先,DBMS不仅仅是关于性能的:
另外,您可能注意到大多数dbms都是相当旧的产品。像 旧的,用我们这个行业的术语来说真的是千禧年。结果之一就是人们有足够的时间来优化DBMS代码库。 理论上,您可以通过文件来实现所有这些功能,但是我怀疑您最终会得到一个看起来非常接近DBMS的东西(即使您有时间和资源来真正做到这一点)。那么,为什么要重新发明轮子(除非你一开始就不想要轮子)? 1 通常通过某种“日志”或“事务日志”机制。此外,为了最小化“逻辑”损坏(由于应用程序错误)的可能性并促进代码重用,大多数dbms支持声明性约束(域、键和引用)、触发器和存储过程。 2 isolating transactions 甚至允许客户端显式锁定数据库的特定部分。 |
|
|
2
35
这个问题有点老了,但我还是决定回答它,因为我一直在做一些挖掘。我的答案是基于linux文件系统。基本上mySQL将数据存储在硬盘中的文件中。它将文件存储在具有系统变量“datadir”的特定目录中。打开a
从上面的命令中可以看到,我的“datadir”位于
这个
就这样,伙计们!我希望我帮助了别人。 |
|
|
3
3
从技术上讲,一切都是一个“文件”,包括文件夹。。你的整个硬盘都是巨大的文件。说到这里,是的,关系数据库,MySQL在硬盘上的一个数据文件中包含了存储数据。数据库和写/读文件之间的区别是苹果和橘子。数据库提供了一种结构化的方式来存储和搜索/检索数据,这种方式永远不可能只通过读写文件来复制。。当然,除非你自己写数据库。。 希望有帮助。 |
|
|
4
3
更多信息: http://en.wikipedia.org/wiki/B-tree 仔细查看MySQL文档,我们发现可以选择将索引设置为“BTREE”或“HASH”类型。在一个MySQL文件中,存储了多个索引,这些索引可以使用任意一种数据结构。 虽然安全性和并发性很重要,但这并不是数据库存在的原因,而是附加的特性。最早的数据库 因为不可能随机访问包含可变长度数据的顺序文件。 |
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |