查看“MySQL 优化:优化 SQL 语句”的源代码
←
MySQL 优化:优化 SQL 语句
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:MySQL文档]] == 关于 == 数据库应用程序的核心逻辑是通过 SQL 语句执行的,无论是通过解释程序直接发出还是通过 API 在后台提交。 == 优化 SELECT 语句 == * 见:“'''[[MySQL 优化:优化 SQL 语句:优化 SELECT 语句]]'''” == 优化子查询,派生表和视图引用 == * 见:“'''[[MySQL 优化:优化 SQL 语句:优化子查询,派生表和视图引用]]'''” == 优化 INFORMATION_SCHEMA 查询 == * 见:“'''[[MySQL 优化:优化 SQL 语句:优化 INFORMATION_SCHEMA 查询]]'''” == 优化数据更改语句 == * 见:“'''[[MySQL 优化:优化 SQL 语句:优化数据更改语句(INSERT、UPDATE、DELETE)]]'''” == 优化数据库权限 == '''权限设置越复杂,所有 SQL 语句的开销就越大'''。 简化由“GRANT”语句构建的权限,可使 MySQL 减少 Client 端执行语句时进行权限检查的开销。 : 例如,如果您不授予任何表级或列级权限,则服务器无需检查“tables_priv”和“columns_privt”表的内容。同样,如果您没有对任何帐户设置资源限制,则服务器不必执行资源计数。如果您有很高的语句处理负载,请考虑使用简化的授权结构以减少权限检查的开销。 == 其他优化技巧 == 本节列出了许多提高查询处理速度的技巧: * 如果您的应用程序发出多个数据库请求以执行相关更新,则将这些语句组合到'''存储过程'''中可以帮助提高性能。同样,如果您的应用程序根据多个列值或大量数据计算单个结果,则将计算结果合并到 UDF(用户定义的'''函数''')中可以提高性能。然后,产生的快速数据库操作可用于其他查询,应用程序,甚至可以用不同的编程语言编写的代码重用。 * 要解决 ARCHIVE 表出现的任何压缩问题,请使用“OPTIMIZE TABLE”。【???】 * 如果可能,将报告分类为“实时”或“统计”,其中仅根据从实时数据定期生成的汇总表中创建统计报告所需的数据。 * 如果您的数据与行和列的表结构不一致,则可以将数据打包并存储到'''BLOB'''列中。在这种情况下,您必须在应用程序中提供代码以打包和解压缩信息,但这可能会节省 I/O 操作,以读写相关值集。 * 对于 Web 服务器,将图像和其他二进制资产存储为文件,路径名存储在数据库中,而不是文件本身。大多数 Web 服务器比文件内容在缓存文件方面更胜一筹,因此使用文件通常更快。 (尽管在这种情况下,您必须自己处理备份和存储问题.) * 如果您确实需要很高的速度,请查看'''底层的 MySQL 接口'''。例如,通过直接访问 MySQL InnoDB或MyISAM存储引擎,与使用 SQL 接口相比,您可以大大提高速度。 ** 同样,对于使用'''NDBCLUSTER'''存储引擎的数据库,您可能希望研究 NDB API 的可能用法(请参阅MySQL NDB 群集 API 开发人员指南)。 * 复制可以为某些操作提供性能优势。您可以在副本之间分配 Client 端检索,以分散负载。为避免在进行备份时减慢源速度,可以使用副本进行备份。参见第 16 章,复制。
返回至“
MySQL 优化:优化 SQL 语句
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息