最近几周一直在进行数据库培训,老师精湛的技术和生动的讲解使我受益匪浅。为了让更多的新手受益,我抽空把SQL语句优化部分进行了整理,希望大家一起进步。阅读全文>
发表于 @ 2008年07月05日 00:18:00|评论(loading...)|编辑|收藏
事实证明,这样来生成5万个不同的随即码,效率还是很高的,数组的大小限制也完全足够应付了。阅读全文>
发表于 @ 2008年07月04日 23:26:00|评论(loading...)|编辑|收藏
范春莹(Fancy Fan), 北京大学MBA,现任中国万网技术总监。许多人对这个名字可能并不熟悉,但提起他的网名“范生”,则老一代技术开发人员都能讲出一段关于他的故事,关于他在ChinaASP数据库版的版主时光,关于他曾用心经营的数据库发展空间的技术网站,关于他组织的一次次的数据库的技术培训等。2007年,Fancy 被微软(美国)评为全球IT Hero,2008年又被评选为微软SQL方向的MVP(最有价值专家)。记者对淡出技术社区几年又忽然以技术专家身份获得MVP的Fancy产生了兴趣,希望走近并了解他的数据库写意人生。阅读全文>
发表于 @ 2008年07月03日 20:12:00|评论(loading...)|编辑|收藏
在MySQl中,假设有两个数据表Employee(E,雇员表)、Recorde(R,考勤表),以E.id=R.eid相连。现在要找出本月迟到超过三次的员工有多少人。
可能首先想到的SQL语句象这样:
阅读全文>
发表于 @ 2008年07月02日 20:48:00|评论(loading...)|编辑|收藏
为了从两个或多个表中选出数据,一般使用表连接来实现这个功能。
这里先介绍join(连接)的概念. 为此我们准备了两个试验用表: album(专辑表) 和 track(曲目表).
专辑表:包含200首来自Amazon的音乐CD的概要信息。
album(asin, title, artist, price, release, label, rank)
曲目表:每张专辑中的曲目(因为是音乐CD,所以也可叫歌曲)的详细信息。
阅读全文>
发表于 @ 2008年07月01日 21:03:00|评论(loading...)|编辑|收藏
原来看过MYSQL同步数据的实现,可是自己还没有动过手,今天没什么事就玩一玩,正好在旁边有另一台空电脑,都在同一个路由器下。哈哈,正好。
不过首先在找配置文件上就把我卡了好久,由于我用的是xampp安装包,在xampp/mysql/bin目录下看始终没有找到my.cnf,在c:windows目录下也没有发现,
阅读全文>
发表于 @ 2008年06月30日 00:14:00|评论(loading...)|编辑|收藏
Possible variables for option --set-variable (-O) are:
back_log current value: 5
connect_timeout current value: 5
delayed_insert_timeout current value: 300
delayed_insert_limit current value: 100
delayed_queue_size current value: 1000
flush_time current value: 0
interactive_timeout current value: 28800
join_buffer_size current value: 131072
阅读全文>
发表于 @ 2008年06月29日 23:18:00|评论(loading...)|编辑|收藏
MySQL5.1地的确提供了好多有力的工具来帮助我们DBA进行数据库管理。
现在看一下这个压力测试工具mysqlslap.
关于他的选项手册上以及--help介绍的很详细。
我解释一下一些常用的选项。
这里要注意的几个选项:阅读全文>
发表于 @ 2008年06月29日 22:48:00|评论(loading...)|编辑|收藏
一个mysql命令行客户端的一个小技巧
在mysql命令行客户端操作的时候,有时候一个语句的结果一长~~~~串,然后就没得看了,还会把之前的东西全冲掉。
阅读全文>
发表于 @ 2008年06月29日 22:44:00|评论(loading...)|编辑|收藏
本来在MySQL的Store Procedure 里添加注释很简单。可惜如果用命令行客户端来导入备份的数据,注释就会被干掉。
在存储过程BODY里面添加注释
阅读全文>
发表于 @ 2008年06月29日 16:48:00|评论(loading...)|编辑|收藏
下午写了一个的检查MySQL REPLICATION的SLAVE是否正常的脚本,比较简单。
如果想和CRONTAB一块运行,去掉Read部分即可。
1、脚本1通过MYSQL 命令 show status 来查看
阅读全文>
发表于 @ 2008年06月29日 16:18:00|评论(loading...)|编辑|收藏
网上的都是一些静态的,用CASE WHEN结构实现。所以我写了一个动态的。
阅读全文>
发表于 @ 2008年06月29日 16:16:00|评论(loading...)|编辑|收藏
一个LAMP架构的网站,经常说这慢那慢的,其实从架构到代码到数据库,优化的空间是非常非常多的(架构设计参照我另外一篇文章),就看你是否愿意花心思去一点一点儿的做起,比如mysql,在lamp网站的架构优化中,往往是很多人最容易忽略的环节,却往往成为优化空间最大的环节,一句不经意的sql语句,可能就会导致数据库执行时间过长,进而导致锁表时间过长,最后导致整站垮掉,让另外99%的努力工作和优化都失去意义,所以,Mysql的优化,需要细致而有耐心的进行,一点一点儿的挖,从slow_query日志开始,从my.cnf参数配置开始,从sql语句写法开始,从表中的索引index开始。。。阅读全文>
发表于 @ 2008年06月29日 16:02:00|评论(loading...)|编辑|收藏
数据库优化的目标无非是避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争。为了便于读者阅读和理解,笔者参阅了 Sybase、Informix和Oracle等大型数据库系统参考资料,基于多年的工程实践经验,从基本表设计、扩展设计和数据库表对象放置等角度进行讨论,着重讨论了如何避免磁盘I/O瓶颈和减少资源竞争,相信读者会一目了然。阅读全文>
发表于 @ 2008年06月26日 20:27:00|评论(loading...)|编辑|收藏
随着 SQL INJECTION 攻击的明显增多,微软近日发布了三个免费工具,帮助网站管理员和检测存在的风险并对可能的攻击进行拦截。阅读全文>
发表于 @ 2008年06月26日 19:06:00|评论(loading...)|编辑|收藏