Tags:mysql - 我爱贝贝 - 金东浩官方网站 - welcome to old.bbmy.net
分页: 1/2 第一页 1 2 下页 最后页 [ 金东浩博客显示模式: 摘要 | 列表 ]
06-1206-12 31
MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,更详细的说明应该考虑到有关特定列类型的附加信息,例如你能为其指定值的允许格式。

由MySQL支持的列类型列在下面。下列代码字母用于描述中:
金东浩日记Tags:
06-1206-12 31
一、我们可以且应该优化什么?

硬件

操作系统/软件库

SQL服务器(设置和查询)

应用编程接口(API)

应用程序
金东浩日记Tags:
06-1206-12 31
一个简单的数据库类
金东浩日记Tags: ,
06-1206-12 31
1. 分号的例外

 对于 MySQL ,第一件你必须牢记的是它的每一行命令都是用分号 (;) 作为结束的,但……没有完全绝对的事,在这儿也是一样,当一行 MySQL 被插入在 PHP 代码中时,最好把后面的分号省略掉,例如:

mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES (''$first_name'', $last_name'')"


 这是因为 PHP 也是以分号作为一行的结束的,额外的分号有时会让 PHP 的语法分析器搞不明白,所以还是省略掉的好。在这种情况下,虽然省略了分号,但是 PHP 在执行 MySQL 命令时会自动的帮你加上的。

 另外还有一个不要加分号的情况。当你想把要字段的竖者排列显示下来,而不是像通常的那样横着排列时,你可以用 G 来结束一行 SQL 语句,这时就用不上分号了,例如:
金东浩日记Tags: ,
06-1206-12 31
mysql的出错代码表,根据mysql的头文件mysql/include/mysqld_error.h整理而成。错误之处,请大家指正。

1005:创建表失败
1006:创建数据库失败
1007:数据库已存在,创建数据库失败
金东浩日记Tags:
06-1206-12 31
这些正是本章所要讨论的问题,其目标是优化数据库系统的性能,使其尽可能快地处理各种查询。MySQL 已经相当快了,但即使是最快的数据库,在人的设计下还能运行得更快。

优化是一项复杂的任务,因为它最终需要对整个系统的理解。当用你的系统/应用的小知识做一些局部优化是可能的时候,你越想让你的系统更优化,你必须知道它也越多。  

因此,本章将试图解释并给出优化MySQL的不同方法的一些例子。但是记住总是有某些(逐渐变难)是系统更快的方法留着去做。

8.1 索引的使用

我们首先讨论索引,因为它是加快查询的最重要的工具。还有其他加快查询的技术,但是最有效的莫过于恰当地使用索引了。在 MySQL 的邮件清单上,人们通常询问关于使查询更快的问题。在大量的案例中,都是因为表上没有索引,一般只要加上索引就可以立即解决问题。但这样也并非总是有效,因为优化并非总是那样简单。然而,如果不使用索引,在许多情形下,用其他手段改善性能只会是浪费时间。应该首先考虑使用索引取得最大的性能改善,然后再寻求其他可能有帮助的技术。
金东浩日记Tags:
分页: 1/2 第一页 1 2 下页 最后页 [ 金东浩博客显示模式: 摘要 | 列表 ]