首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加快数据库执行的良好技术

加快数据库执行的良好技术
EN

Software Engineering用户
提问于 2011-11-07 20:27:35
回答 5查看 2.1K关注 0票数 4

我有一个使用ASP.Net数据库的MySQL应用程序。我的查询执行速度也没有我希望的那么快。有没有一些标准的方法来提高MySQL数据库的速度,而不是把它放在更快的PC上。

例如,(我不确定这些语句是否为真)在事务性SQL上使用准备好的语句。如果适用的话使用外键?沿着这些路线的东西。

编辑:数据库位于远程计算机上。

EN

回答 5

Software Engineering用户

发布于 2011-11-07 20:35:25

您想要做的是学习如何使用MySQL EXPLAIN命令(文档)来分析查询。这将告诉您查询是如何从数据库中提取数据的--无论其扫描行是一个接一个还是使用索引。使用它,您通常可以极大地加快查询速度。当然,如果你现在不使用索引,那将是第一个开始.

准备好的和未准备好的陈述的效果.这通常是最低限度的。您也希望在代码中对此进行分析,但前提是您已经根据运行EXPLAIN的经验对索引进行了优化。

票数 10
EN

Software Engineering用户

发布于 2011-11-08 07:54:58

加速数据库是一个很大的问题,你也需要告诉我们你在查询数据库、更新或删除数据方面是否有问题。但是,您可以查看以下已知事实:

0-确保使用适当的驱动程序连接到数据库,并且使用正确的连接方式(例如,使用ODBC可能比本机驱动程序慢)。使用连接池。

有一个正确的设计。

2-使用相同的数据类型定义PK和FK以加速连接。

3-为非大小表创建PK和FK索引。

4-选择正确的索引类型

优化你的选择。避免"SELECT *“,除非需要,否则不要连接到表

6-对您的选择进行适当的限定,这样返回的数据行数就足以完成手头的业务功能。除非需要,否则不要一直返回所有数据。

7-避免在查询中使用大型二进制对象。如果可能的话,考虑将照片从数据库移到文件系统存储。

8-明智地使用聚合函数和顺序。选择群集索引,以便尽可能避免排序。

8a -避免使用非在何处,并试图避免复杂的转换操作。

8b -确保在查询中使用索引,否则调优查询以利用索引或创建必要的索引。

9-在可能的情况下,使用单个列构建键,而不是多列。

检查表格和索引的物理设计。看看您的空间是如何分配的

11 -考虑索引重建和文件系统碎片整理

12 -检查微调全文搜索的策略(如果您正在使用)-请参阅:FTS

13 -确定你的网络速度是否足够好。

14 -将ASP.NET应用程序中的事务时间与在控制台上执行的相同查询或事务进行比较。两者之间的差别应该很大。如果你发现一个很大的变化,那么问题可能在于你如何连接,网络或其他一些问题。

票数 5
EN

Software Engineering用户

发布于 2011-11-07 21:00:38

数据库是你能加快程序速度的唯一地方。如果没有更多关于用例的信息,是否可以使用写后缓存的拓扑?

写后缓存将允许您将元素放入缓存中,以便稍后将其写入数据库。对于没有进一步依赖项的数据库条目(例如在设定的时间段内从数据库中读取),这将是理想的,因为一旦一个元素在缓存中,它就会在数据库中,就您的应用程序而言。

这是关于如何使用实现写后缓存。的ehcache,我还链接到了一个像样的视频,展示了写后缓存如何从应用程序中消除数据库瓶颈。http://vimeo.com/21193026

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/118352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档