摘要: 测试书中题目:加上distinct是否多余?不加distinct的话,显示类似如下情况:SELECT count( * )FROM `players`GROUP BY towncount( * )122加上distinct的话,显示类似如下情况:SELECT distinct count( * )FROM `players`GROUP BY towncount( * )12结论:加上distinct的话,为空的值不计入count中了。另外一个测试例子:SELECT DISTINCT playernoFROM playersWHERE TOWN = '长沙'distinct为什么 阅读全文
posted @ 2011-02-22 22:45 王滔 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 使用phpmyadmin导出sql的时候,常常会出现SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";的语句。通过看sql手册,明白了这里设置的含义。那么可以回答几个疑惑性问题了一、设置sql模式有什么作用?会产生什么方面的影响?模式定义mysql会支持哪些sql语法。以及应... 阅读全文
posted @ 2011-02-22 22:41 王滔 阅读(7510) 评论(0) 推荐(0) 编辑
摘要: INSERT DELAYED是立刻返回一个标识,告诉上层程序,数据已经插入了,当表没有被其它线程使用时,此行被插入,真实插入时间就不可控了。所以这样的写法对数据的安全性是没有保障的。· 如果您使用DELAYED关键字,则服务器会把待插入的行放到一个缓冲器中,而发送INSERT DELAYED语句的客户端会继续运行。如果表正在被使用,则服务器会保留这些行。当表空闲时,服务器开始插入行,并定期检查是否有新的读取请求。如果有新的读取请求,则被延迟的行被延缓执行,直到表再次空闲时为止。请参见13.2.4.2节,“INSERT DELAYED语法”。INSERT LOW_PRIORITY IN 阅读全文
posted @ 2011-02-22 22:31 王滔 阅读(920) 评论(0) 推荐(0) 编辑
摘要: mysql手册sql优化学习:BENCHMARK(1000000,1+1)的理解:执行右边表达式(1+1)1000000次。该函数执行所返回的结果永远是0英文参考理解:表达式必须是标量表达式。比如select 返回的是很多行,是一个结果集。那么执行该函数的时候并没有任何结果显示。失败了。返回的结果必须是单列或者是单行。一、使用explain工具显示信息:explain语句结果信息的使用:id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE fanwe_goods index NULL PRIMARY 阅读全文
posted @ 2011-02-22 22:21 王滔 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: 在url中附带的参数明明是a=show 结果,使用$_GET['a']得到的结果是index,这是在一个静态页面中以href属性的形式点击访问的。而直接在浏览器中输入url却访问正常,使用$_GET['a']得到的结果是是show了。百思不得其解。后来终于找到思路了:如果获取到的参数与实际值不一致,那么肯定是中间经过修改了。因而,想到thinkphp框架是否会进行修改。在载入框架之前输出$_GET['a'],得到的结果还是index。此时没有执行框架代码,也是这样的。那么就是js在获取href的值后,进行了二次修改。实际上是通过js去访问指定的u 阅读全文
posted @ 2011-02-22 22:20 王滔 阅读(2752) 评论(0) 推荐(0) 编辑