Mysql的日志类型与设置。
1.普通log
记录所有sql操作,包括select,show语句。
设置
默认是不打开此log。
打开时可以指定目录,不指定时保存在数据库录目录下。
[mysqld]
log = /data/logs/mysql.log #此方式为指定文件
log = 1 #此文件默认保存在数据库目录下
log-output = TABLE,FILE #加上此参数可以同时把日志存储到数据表中,mysql库下。一般为CVS格式 ,当然可选其中一个参数就行
#默认是FILE值
2.错误日志
设置
[mysqld_safe] #此节点设置了会优先读此节点,[mysqld]着节点会无效,不知道为啥?
log-error=/data/logs/mysqld-err.log #同样可以指定目录,不指定默认存储在数据库目录下 xxx.err
3.慢查日志
设置
[mysqld]
log_slow_queries = /data/logs/mysql-slow.log #不指定默认为 msyql-slow.log
long_query_time = 1 #此值默认为10,最小为1,5.1有个google的补丁可以准确的毫秒。
log_queries_not_using_indexes = 1 #没使用索引的查询,存储过程会认为没使用索引而记录下来,默认是0。
4.二进制日志
特别说明: 二进制日志 并不记录select,show等不改变数据的sql语句,它主要功能是用于:数据恢复与数据复制。其带来的性能消耗远不如普通 日志高。默认是不打开的。如果使用事务型数据引擎InnoDB会有自己的二进制日志。特别是服务器使用主从架构时,必需开二进制日志,在机群情况下。
设置
[mysql]
log-bin = mysql-binlog #生成格式为 mysql-binlog.00000X 形式。这里不要写完整目录,写个名字就行,日志会存储在数据库目录下。
使用 show variables like '%log%'; 命令可以查看当前日志相关设置。
mysql> show variables like 'log%';
+---------------------
相关文档:
表:
CREATE TABLE `user` (
`id` int(5) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
`password` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
其中有数据为:
1 name1 123456
2&nbs ......
如果jsp插入mysql数据库出现乱码,mysql数据库安装时编码设为utf8,在执行插入语句的前面(紧挨着执行语句)添加转码语句:String na="";
try{
&nbs ......
数值类型
MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。
表列出了各种数值类型以及它们的允许范围和占用的内存空间。
......
1、使用索引来更快地遍历表。
缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:
a.有大量重复值、且经常有范围查询( > ,< ,> =,< =)和order by、group by发生的列,可考虑建立群集索 ......