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

(mysql)临时表的使用

使用临时表的好处:
使用临时表存放中间结果,加速查询,或存放临时结果.
 
(1)
创建临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字:
CREATE TEMPORARY TABLE tmp_table (
name VARCHAR(10) NOT NULL,
value INTEGER NOT NULL
)
 
(2)
临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间。当然你可以在仍然连接的时
候删除表并释放空间。
DROP TABLE tmp_table -- 不用加temporary
(2.2)
临时表的常用方法:
create temporary table temp_user select * from user;
 
(3)
如果在你创建名为tmp_table临时表时名为tmp_table的表在数据库中已经存在,临时表将有必要屏蔽(隐藏)非临时
表tmp_table。
 
(4)
使用临时表加速查询
  把表的一个子集进行排序并创建临时表,有时能加速查询。它有助于避免多重排序操作,而且在其他方面还能简
化优化器的工作。例如:
  SELECT cust.name,rcvbles.balance,……other columns
  from cust,rcvbles
  WHERE cust.customer_id = rcvlbes.customer_id
  AND rcvblls.balance>0
  AND cust.postcode>“98000”
  ORDER BY cust.name
  如果这个查询要被执行多次而不止一次,可以把所有未付款的客户找出来放在一个临时文件中,并按客户的名字
进行排序:
  SELECT cust.name,rcvbles.balance,……other columns
  from cust,rcvbles
  WHERE cust.customer_id = rcvlbes.customer_id
  AND rcvblls.balance>0
  ORDER BY cust.name
  INTO TEMP cust_with_balance
  然后以下面的方式在临时表中查询:
  SELECT * from cust_with_balance
  WHERE postcode>“98000”
  临时表中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘I/O,所以查询工作量可以得到大
幅减少。


相关文档:

mysql 表类型myISAM ,Innodb

就我知道的两个区别:
myISAM  不支持事务
Innodb   支持事务
如果修改myISAM 为Innodb,需要把原来的数据先dump出来,清空表,在重新插入
innodb在/etc/my.cfg的配置为
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_hom ......

MYSQL 求高手帮助

各位高手好。小弟学习JAVA不久,然后再用MYSQL数据库。
由于是用别人的的范例学习,所以出现很多奇怪的问题
我用自己的MYSQL 服务器,然后把别人的数据库导进来。然后出现版本问题。
问题如下
Table './db_librarysys/tb_manager' was created with a different version of MySQL and cannot be read
2010-4-28 22:44 ......

(mysql)Foreign key的使用

(1)
外键的使用:
外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性.
如:
有表A,表B中一字段是表A某一字段的外键.当删除表A记录时,表B相应记录会作相应处理(删除/或设置外键列为NULL).但若删除表B记录,表A的记录,则不会受影响!
 
一个就是能够增加ER图的可读性
  &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号