mysql的sql语句中可以使用between来限定一个数据的范围,例如:
select * from user where userId between 5 and 7;
查询userId为5、6,7的user,userId范围是包含边界值的,也等同如下查询:
select * from user where userId >= 5 and userId <= 7;
很多地方都提到between是给定的范围是大于等第一值,小于第二个值,其实这是不对的。此前我一直也是这么认为,通过实验,结论是包含两边的边界值,如果实在拿不准,可以采用>= 、<=的方式来指定条件。
另外 not between的范围是不包含边界值。
mysql服务可以把超过指定规定时间的sql语句已日志的方式记录下来,检查当前mysql服务有没有记录慢查询的命令为:
/usr/local/mysql/bin/mysqladmin var | grep log_slow | tr -d "|"
如果看到log_slow_queries OFF则没有启用,启用的方法很简单,把如下配置放在mysql的配置文件my.cnf中的mysqld段里即可。
log-slow-queries = /var/lib/mysql/slow-queries.log
long_query_time = 1
log-queries-not-using-indexes
log-slow-admin-statements
上面的配置打开了slow query日志,将会捕获了执行时间超过了1秒的查询,包括执行速度较慢的管理命令(比如OPTIMEZE TABLE),并且记录了没有使用索引的查询。这些SQL,都会被记录到log-slow-queries指定的文件/var/lib/mysql /slow-queries.log文件中。
log-slow-queries
存放slow query日志的文件。你必须保证mysql server进程mysqld_safe进程用户对该文件有w权限。
long_query_time
如果query time超过了该值,则认为是较慢查询,并被记录下来。单位是秒。
log-queries-not-using-indexes
MySQL会将没有使用索引的查询记录到slow query日志中。无论它执行有多快,查询语句没有使用索引,都会被记录。有的时候,有些没有使用引索的查询非常快(例如扫描很小的表),但也有可能导致服务器变慢,甚至还会使用大量的磁盘空间。
log-slow-admin-statements
一些管理指令,也会被记录。比如OPTIMEZE TABLE, ALTER TABLE等等。
需要说明的是long_query_time很多地方都说最小是1秒,其实该值可以是一个浮点数,起码在mysql 5版本中可以这么配置,例如 0.1,也就是100毫秒。
rsync带上delete的参数后,当源目录中的文件删除,同步后目标目录中的文件也会被删除,如果源目录写法不当,可能无法达到同步删除目标目录的文件。例如:
/usr/bin/rsync -vzrtopg --progress --delete \
/home/yangyz/tmp/src/* /home/yangyz/tmp/dest/
当删除src下的文件或文件夹时,同步后dest中还是存在,如果是删除src的子目录下的,同步后dest中会被删除,而下面命令就不一样,不管删除的是哪个文件夹下的内容,同步dest都会做相同的删除
/usr/bin/rsync -vzrtopg --progress --delete \
/home/yangyz/tmp/src/ /home/yangyz/tmp/dest/
上述两条命令的不同之处就是在src后面是否带*号,另外如果src目录后不带斜杠,那么是将src目录复制到dest中,包含了src目录,否则是把src目录下的文件同步到dest中,不包含src目录。
当采用相对位置来定义div,如果该区域也存在flash对象,即使div的z-index的设的很大,默认情况下,flash对象会覆盖住div的,解决办法是通过设置加载flash的object的wmode参数,例如
<param name= "wmode" value= "transparent">
或
<param name= "wmode" value= "opaque">
上述第一个是flash背景透明,第二个则是背景不透明。
另外如果使用swfobject.js来加载swf,则可以使用如下方法:
swfobject.embedSWF(
"happy_year.swf",
"div_container",
"350",
"350",
"9.0.0",
"install_flash_player.swf",
null,
opObjectParams
);
即在最后一个参数上添加wmode的值。
time()函数能获取一个相对于1901年的时间秒数,但是需要注意,如果系统没有设置时区,那么获得的结果是UTC时间,相对中国用户来说,就是相差了8个小时,例如通过date来获取当前的日期,date(‘Y-m-d’),在早上8点前看到的日期是昨天的,所以需要显示设置时区,可以在php.ini中设置,date.timezone = PRC,或者在使用前用date_default_timezone_set来设置,例如 date_default_timezone_set(“PRC”);