Php 了解大型数据库/表的MySql?

Php 了解大型数据库/表的MySql?,php,mysql,Php,Mysql,我已经在我的一个新网站上工作了几天了,它将从MySql数据库中检索几乎所有最常用的内容。看起来数据库和网站仍在开发中,目前表非常小,速度还不重要 但是你知道他们怎么说的,现在一点点的努力工作可以让你以后不用头疼。 现在我才17岁,我所学过的唯一一个数据库是通过Microsoft Access,我们实际上得到了完整的数据库——我们学习了3NF,但仅此而已 我记得曾经读过一篇文章,当时我正试图(随机)从数据库中提取数据,大型数据库完成一个查询需要几秒钟/分钟的时间,所以这引起了我的思考。在短短的几秒

我已经在我的一个新网站上工作了几天了,它将从MySql数据库中检索几乎所有最常用的内容。看起来数据库和网站仍在开发中,目前表非常小,速度还不重要

但是你知道他们怎么说的,现在一点点的努力工作可以让你以后不用头疼。 现在我才17岁,我所学过的唯一一个数据库是通过Microsoft Access,我们实际上得到了完整的数据库——我们学习了3NF,但仅此而已

我记得曾经读过一篇文章,当时我正试图(随机)从数据库中提取数据,大型数据库完成一个查询需要几秒钟/分钟的时间,所以这引起了我的思考。在短短的几秒钟内,我就可以向谷歌提交搜索,谷歌处理查询并返回结果,然后我的浏览器呈现结果——所有这些都在眨眼之间完成。谷歌有数十亿条记录可供搜索。他们同时也在为数百万用户提供服务

我在想,他们是怎么做到的?我知道他们有巨大的数据中心,但仍然如此

我意识到这可能要归结到数据库的设计,它是如何被优化的,当然还有配置。我想这是我真正的问题。有人能告诉我如何为数百万/数十亿行设计高性能数据库(是的,我很乐观),并可能为我指出一些好的阅读材料,以帮助我进一步学习吗


另外,我的所有查询都是通过PHP完成的,如果这与任何答案相关的话。

请查看Sphinx服务器


Craigslist将其用于搜索引擎。基本上,您给它一个源代码,它会索引您想要的任何内容(mysql数据库/表、文本文件等)。如果它适用于craigslist,那么它应该适用于您。

查看Sphinx服务器


Craigslist将其用于搜索引擎。基本上,您给它一个源代码,它会索引您想要的任何内容(mysql数据库/表、文本文件等)。如果它适用于craigslist,它应该适用于你。

首先是好消息。。。MySQL可以很好地扩展(取决于硬件)到至少数亿行

一旦到达某一点,单个数据库服务器将无法管理负载。那是当你进入或。。。使用多个不同方案中的任意一个将负载分散到多个数据库服务器上(例如,将不相关的表放在不同的服务器上,将单个表分散到多个服务器上,例如,使用ID或日期范围作为分区键)

SQL确实可以进行切分,但从根本上讲,它并不是为了很好地进行切分而设计的。有一整类的存储备选方案统称为,旨在解决这一问题(,是少数)

在非常大规模地使用SQL时,您会遇到许多问题,例如在DB服务器场中更改数据模型、难以跟上数据备份等。这是一个非常复杂的主题,能够很好地解决它的人很少。要了解这些问题,请查看


在为特定项目选择数据库平台时,应尽早并经常对解决方案进行基准测试,以了解它是否能够满足预期的性能要求。有一个框架可以帮助您了解可伸缩性,帮助您决定是否投入精力改进解决方案中的数据存储部分,并帮助您知道在哪里最好地投入时间。

首先是好消息。。。MySQL可以很好地扩展(取决于硬件)到至少数亿行

一旦到达某一点,单个数据库服务器将无法管理负载。那是当你进入或。。。使用多个不同方案中的任意一个将负载分散到多个数据库服务器上(例如,将不相关的表放在不同的服务器上,将单个表分散到多个服务器上,例如,使用ID或日期范围作为分区键)

SQL确实可以进行切分,但从根本上讲,它并不是为了很好地进行切分而设计的。有一整类的存储备选方案统称为,旨在解决这一问题(,是少数)

在非常大规模地使用SQL时,您会遇到许多问题,例如在DB服务器场中更改数据模型、难以跟上数据备份等。这是一个非常复杂的主题,能够很好地解决它的人很少。要了解这些问题,请查看

在为特定项目选择数据库平台时,应尽早并经常对解决方案进行基准测试,以了解它是否能够满足预期的性能要求。有一个框架可以帮助您了解可伸缩性,帮助您决定是否投入精力改进解决方案中的数据存储部分,并帮助您知道在哪里最好地投入时间。

该博客提供了一些关于公司如何处理大问题的好文章和建议

特别是与MySQL相关的,你可以在谷歌上搜索craigslist.org对MySQL的使用

该博客提供了一些好文章和公司如何处理重大问题的指南

特别是与MySQL相关的,你可以在谷歌上搜索craigslist.org对MySQL的使用


没有人知道如何设计数据库。它是在大量阅读和花了很多时间研究之后产生的。然而,一个好的设计是多年实践的产物。因为您只看到了Access,所以对数据库一无所知。在Amazon.com上搜索,你会得到大量的标题。对于刚开始的人,任何人都会这么做

我没有不尊重的意思。我曾经去过那里,也是一些学习编程/数据库设计的人的导师。我知道没有银弹或银弹