今天,网站数据库的操作办法越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于网站数据库的性能,这并不只是DBA才需要担心的事,而这更是咱们程序员需要去关注的事情。 当咱们去设计网站数据库表结构,对操作办法网站数据库时(尤其是查表时的SQL数据库语句),咱们都需要注意数据操作办法的性能。这里,咱们不会讲过多的SQL数据库语句的网站seo优化,而只是针对MySQL这一Web应用最多的网站数据库。希望下面的这些网站seo优化技巧对您有用。 1. 为查询数据缓存网站seo优化您的查询 大多数的MySQL站点服务器都开启了查询数据缓存。这是提高性最有效的具体相关方法之一,而且这是被MySQL的网站数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个数据缓存中,这样,后续的相同的查询就不用操作办法表而直接访问数据缓存结果了。 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,咱们某些查询数据库语句会让MySQL不使用数据缓存。请看下面的示例: // 查询数据缓存不开启 $r = mysql_query("SELECT username FROM user WhERE signup_date >= CURDATE()"); // 开启查询数据缓存 $today = date("Y-m-d"); $r = mysql_query("SELECT username FROM user WhERE signup_date >= '$today'"); 上面两条SQL数据库语句的差别就是 CURDATE() ,MySQL的查询数据缓存对这个函数不起作用。所以,像 NOW() 和 RAND() 或是其它的诸如此类的SQL函数都不会开启查询数据缓存,因为这些函数的返回是会不定的易变的。所以,您所需要的就是用一个变量来代替MySQL的函数,从而开启数据缓存。 2. EXPLAIN 您的 SELECT 查询 使用 EXPLAIN 关键字可以让您知道MySQL是如何处理您的SQL数据库语句的。这可以帮您分析您的查询数据库语句或是表结构的性能瓶颈。 EXPLAIN 的查询结果还会告诉您您的索引主键被如何利用的,您的数据表是如何被搜索和排序的……等等,等等。 挑一个您的SELECT数据库语句(推荐挑选那个最复杂的,有多表联接的),把关键字EXPLAIN加到前面。您可以使用phpmyadmin来做这个事。然后,您会看到一张表格。下面的这个示例中,咱们忘记加上了group_id索引,并且有表联接: MySQL性能网站seo优化的最佳20多条经验分享 当咱们为 group_id 字段加上索引后: MySQL性能网站seo优化的最佳20多条经验分享 咱们可以看到,前一个结果显示搜索了 7883 行,而后一个只是搜索了两个表的 9 和 16 行。查看rows列可以让咱们找到潜在的性能问题。Linux Mysql cacti安装配置