易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL的LOCK TABLES/UNLOCK TABLES

LOCK TABLES/UNLOCK TABLES 句法
LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
[, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} ...]
...
UNLOCK TABLES
LOCK TABLES 为当前线程锁定表。UNLOCK TABLES 释放当前线程拥有的所有锁定。当线程发出另一个 LOCK TABLES,或当与服务器的连接被关闭时,被当前线程锁定的所有表将被自动地解锁。
为了在 MySQL 4.0.2 使用 LOCK TABLES ,你必须拥有一个全局的 LOCK TABLES 权限和一个在相关表上的 SELECT 权限。在 MySQL 3.23 中,你对该表需要有 SELECT、insert、DELETE 和 UPDATE 权限。
使用 LOCK TABLES 的主要原因是,仿效事务处理或在更新表时得到更快的速度。此后会有更详细的描述。
如果一个线程在一个表上得到一个 READ 锁,该线程 (和所有其它线程) 只能从表中读取。如果一个线程在一个表上得到一个 WRITE 锁,那么只有拥有这个锁的线程可以从表中读取和写表。其它的线程被阻塞。
READ LOCAL 和 READ 之间的不同就在于,当锁被加载时,READ LOCAL 允许非冲突(non-conflicting) INSERT 语句执行。如果当你加载着锁时从 MySQL 外部操作数据库文件,这将仍不能被使用。
当你使用 LOCK TABLES 是地,你必须锁定所有你将使用的表,并且必须使用与你的查询中将使用的别名相同!如果你在一个查询中多次使用一个表(用别名),你必须为每一个别名获得一个锁。
WRITE 锁通过比 READ 锁有更高的权限,以确保更新被尽快地处理。这就意味着,如果一个线程获得一个 READ 锁,而同时另外一个线程请求一个 WRITE 锁,并发的 READ 锁请求将等待直到 WRITE 线程得到了锁并释放了它。你可以使用 LOW_PRIORITY WRITE 锁,当该线程在等待 WRITE 锁时,它将允许其它的线程获得 READ 锁。 你应该只使用 LOW_PRIORITY WRITE 锁,如果你确信这将是最后一次,当没有线程将拥有 READ 锁。
LOCK TABLES 工作如下:
以内部定义的次序排序所有被锁定的表 (从用户立场说,该次序是不明确的)。
如果一个表被以一个读锁和一个写锁锁定,将写锁放在读锁之前。
一次只锁定一个表,只到线程得到所有的锁定。
这个方案是为了确保,表锁定死锁释放。 对于这个模式你仍然有些其它事情需要知道:
如果你对一个表使用一个 LOW_PRIORITY WRITE 锁定,这就意味着,MySQL 将等待这个锁,直到没有线程请求一个 READ 锁。当线程得到了 WRITE 锁,并等待获得锁定表列表中的下一个


相关文档:

MySQL中文乱码解决方案

说明: 在MYSQL中,如果使用缺省的字符集,在建库、建表时,默认使用的是latin1字符集,
为ISO 8859-1西欧字符集。插入中文字符时,与之不匹配,就会出现乱码。
【解决方案】
1. 打开文件: C:\Program Files\MySQL\MySQL Server 5.0\my.ini;
2. 将其中的default-character-set=latin1改为default-character-set=gb2312, ......

mysql 中数学函数的使用

所有的数学函数在一个出错的情况下返回NULL。 

单目减。改变参数的符号。 
mysql> select - 2; 
注意,如果这个操作符与一个BIGINT使用,返回值是一个BIGINT!这意味着你应该避免在整数上使用-,那可能有值-2^63! 
ABS(X) 
返回X的绝对值。 
mysql ......

实例讲解如何使用C++操作MySQL数据库类

 
  用C++操作MySQL数据库类:
  注释:这几个类对处理不是很大数据量的操作是很理想的, 但不适宜特大型的数据的查询,因为源码中将查询到的数据直接放入了内存。
  /*
  * project:
  * 通用模块 ( 用 c++ 处理 mysql 数据库类,像ADO )
  *
  * description:
  *
  * 通过DataBase,Reco ......

windows环境下的PHP+Apache+MySql的环境搭建

操作系统: windows xp
php版本:5.2.5 http://www.php.net/downloads.php
Apache http server 版本:2.2.6http://httpd.apache.org/download.cgi
Mysql版本: 6.0.3http://dev.mysql.com/get/Downloads/MySQL-6.0
1.apache的安装:
1)双击apache_2.2.6-win32-x86-no_ssl.msi图标,启动apache安装程序;
2)安装以一个欢迎 ......

浅谈MySQL慢查询日志及microslow patch(msl patch)

       mysql(包括所有5.*系列,5.1.21之前)的慢查询日志默认是以秒为单位的,可以通过set [session|global] long_query_time=1这个最低也就是可以设置到1秒,对于0.5,0.005之类就无能为力了,这时候可以有microslow patch(msl patch)补丁来完成这一工作,这个功能的好处自然不言而喻.
 &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号