当前位置:首页 > 系统运维 > 正文内容

高效MySQL数据库的正确编写

a8116255316年前 (2010-05-14)系统运维9

以下的文章主要介绍的是编写高效的MySQL数据库的正确方案,我们首先是借助Apach、Perl与PHP以及Python等实际应用工具,来构建一个关于MySQL(和PHP搭配之更佳组合),其应用时很容易的。

然而确保它们运行快速,则需要一点洞察力。该篇文章就是你需要知道的东西。

MySQL(和PHP搭配之更佳组合)对于成为一个非常快速的MySQL数据库服务器有着当之无愧的名声,它也非常容易设置和使用。随着它作为网站后端数据库得声望日增,其效果在去年开始有明显提高。但是很多MySQL(和PHP搭配之更佳组合)用户更多地知道如何创建一个数据库并编写对它的查询。就像成千上万的人通过载闲暇时用Linux做实验来学习Unix那样,很多人通过玩MySQL(和PHP搭配之更佳组合)学习关系数据库。这些MySQL(和PHP搭配之更佳组合)新手的大多数既没有关系MySQL数据库理论的背景,又没有时间阅读MySQL(和PHP搭配之更佳组合)手册全文。

因此,我们决定研究某些 *** ,你可以用针对优化性能来调节MySQL(和PHP搭配之更佳组合)。在读完该篇文章后,你将理解一些帮助你设计你的MySQL(和PHP搭配之更佳组合)数据库和查询的技术,值得你的应用很有效率。我们将假定你熟悉MySQL(和PHP搭配之更佳组合)和SQL基础,但不假定你有这两方面的广博知识。

只存储你需要的信息

这听上去是常识,但人们常常采取“厨房下水道”的方式进行数据库设计。他们认为可能项要得每样东西都要存储并设计数据库保存所有者这些数据。你需要对你的需求现实些,并确定取确实需要什么信息。你常常能随意产生一些数据而不把它存在MySQL数据库表中。在这种情况下,从一个应用开发者的角度看也有道理这样做。

例如,在线目录的产品表可能包含各种产品的名称、介绍、尺寸、重量和价格。除了价格,你可能想存储每个项目相关的税和运输成本。但实际上不必这样做。首先税和运输成本可以方便地(由你的应用或MySQL(和PHP搭配之更佳组合))计算出来。其次,如果税和运输成本改变了,你可能必须编写必要的查询更新每个产品记录中的税和运输的费率。

有时人们认为这太难不能在以后往MySQL数据库表中加入字段,所以他们感觉不得不定义尽可能多的列。这是明显的概念错误。在MySQL(和PHP搭配之更佳组合)中,你可以用ALTER TABLE命令方便地修改表定义以适应你改变的需求。

例如,如果你突然认识到你需要给你的产品表增加一个级别列(可能你想允许用户在你的目录中给产品评级),你可以这样做:

ALTER TABLE products ADD rank INTEGER 

这给你的产品表增加了一个整数类型的级别列,你能用ALTER TABLE做什么的完整介绍参见MySQL(和PHP搭配之更佳组合)手册。

只要求你需要的东西--要清晰

就像说“只存储你需要的东西”那样,这可能看来是常识,但这一点常常被忽视,为什么呢?因为在一个应用开发时,需求经常改变,所以很多查询最终看来是这样:

SELECT * FROM sometable 

当你不能肯定你将需要哪一列时,要求所有列明显是最省力的事情,然而随着你的表不断增大和修改,这可能变成一个性能问题。更好是在你的最初开发完成后再花些时间并确定你真正从你的查询中需要什么:

SELECT name, rank, description FROM products 

这带来了一个相关的观点,即代码维护比性能更重要。大多数变成语言(Perl、Python、PHP、Java等)允许通过字段名和数字编号访问一条查询的结果,这意味着你可以访问命名字段或字段0都可以得到相同的数据。

长期看,更好使用列名而不是其编号位置,为什么?因为一个表中或一条查询中地列的相对位置可以改变。它们在表中可能因为重复使用ALTER TABLE而改变,它们在查询中将因重写了查询而忘记更新应用逻辑来匹配而改变。

当然,你仍然需要小心改变列名!但如果你使用列名而非标号位置,如列名改变,你可以用grep搜索源代码或使用编辑器的搜索能力查找你需要修改的代码。

上面说了这么多内容,是关于对教你如何编写高效的MySQL数据库应用的介绍,不知道各位对MySQL的认识是不是更上一层楼了,时时关注ITjs,学习最新Mysql技术。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/20244.html

分享给朋友:

“高效MySQL数据库的正确编写” 的相关文章

如何设置Win 7通知栏重新显示电源按钮

如何设置Win 7通知栏重新显示电源按钮

有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...

windows7系统下让所有文件夹都使用同一种视图的方法

windows7系统下让所有文件夹都使用同一种视图的方法

Windows 7系统可以对每个文件夹进行个性化视图设置,可以根据自己的个人喜好和实际需要更改文件或文件夹图标的大小,或者让文件或文件夹以列表、平铺等方式显示。但是,假如你对N个文件夹视图进行了风格各异的个性设置,现在又想让所有文件夹都使用同一种视图怎么办呢 手工一个一个修改,你OUT了,非累得手抽...

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

1月13日消息,微软今天为Windows 7(SP1)用户重新推送了编号为KB2952664的更新补丁,该更新在官方KB知识库中的描述为“Windows 7系统升级兼容性更新”,用于帮助微软改进当前版本系统,提升升级到最新版Win10系统的体验。 这项更新还用于在系统中显示Windows10更新提...

windows 7为什么老掉线 windows 7使用迅雷或快车下载的时候老掉

windows 7为什么老掉线 windows 7使用迅雷或快车下载的时候老掉

经过几天的测试后发现,Windows 7用户反映的情况确实存在,但并没有达到“频繁”的情况。同时,也并非是迅雷或快车抢了带宽。(即便是抢了带宽,表现的形式也是页面打开慢,而非是掉线),寻找问题的原因过程中,我们认为是Windows 7系统对于网卡的电源管理的默认设置造成的。 下面,就以Window...

windows 7 xp宋体 成功替换windows 7宋体为XP宋体的方法

windows 7 xp宋体 成功替换windows 7宋体为XP宋体的方法

很多朋友从XP升级迈入了Windows 7的殿堂,却发现,Windows 7确实好用和华丽,可是有一些地方不太适应。今天举出一则例子,是把Windows 7系统下的宋体替换为XP系统下的字体。这个并非无聊,大家去网上搜索下,就知道有多少人想要这么做了。 没办法,每人的需求总是那么的不同,好吧,怀旧...

Ubuntu 14.04安装Wine以便使用Windows应用

Ubuntu 14.04安装Wine以便使用Windows应用

假如你想要在Ubuntu上使用Windows应用,就需要用到Wine了,除了支持Linux系统外,Wine还可运行于其他系统,是个非常使用的软件,下面小编就以Ubuntu 14.04为例,给大家介绍下Ubuntu 14.04安装Wine的步骤。 Ubuntu 14.04安装Wine的步骤 1...