SQL大全[1]
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-03-22
中获益. 另一个CLUSTER 很有帮助的例子是当你用索引从一个表中取出几个记录时. 如果你从一个表中请求一定索引范围的值,或者是一个索引过的值对应多行, CLUSTER 也会有助于应用,因为如果索引标识出第一匹配行所在的堆存储页,所有 其他行也可能已经在同一堆存储页里了,这样便节省了磁盘访问的时间,加速了查询. 有两种建簇的数据.第一种是用 CLUSTER 命令,此命令将原表按你声明的索引重新排列.这个动作在操作大表时可能会很慢,因为每一行都从堆存储页里按索引顺序取出,如果存储页表没有排序,整个表是随机存放在各个页面的,因而每行都要进行依次磁盘页面操作. PostgreSQL 有一个缓冲, 但一个大表的主体是不可能都放到缓冲去的. 另一个对数据建簇的方法是使用 SELECT column list INTO TABLE new table FROM table ORDER BY column list 这个用法使用PostgreSQL 排序的代码 ORDER BY 来匹配索引,在对未排序的数据操作时速度快得多. 然后你可以删除旧表,用 ALTER TABLE...RENAME将 new table 改成旧表名, 并且重建该表所有索引.唯一的问题是 OID 将不保留.这时再做 CLUSTER 将快得多, 因为大多数堆栈数据已经排过序了而且使用现有的索引. 用法 以雇员的薪水属性对雇员关系建簇. CLUSTER emp_ind ON emp; 兼容性 SQL92 在 规范里没有 CLUSTER 语句. -------------------------------------------------------------------------------- COMMENT COMMENT Name COMMENT -- 定义或者改变一个对象的评注 Synopsis COMMENT ON [ [ DATABASE | INDEX | RULE | SEQUENCE | TABLE | TYPE | VIEW ] object_name | COLUMN table_name.column_name| AGGREGATE agg_name agg_type| FUNCTION func_name (arg1, arg2, ...)| OPERATOR op (leftoperand_type rightoperand_type) | TRIGGER trigger_name ON table_name ] IS ''text'' 输入 object_name, table_name, column_name, agg_name, func_name, op, trigger_name 要加入评注的对象名称. text 要加入的评注. 输出 COMMENT 成功对表评注后的返回. 描述 COMMENT 存储一个数据库对象的评注, 这个评注可以很容易用 psql的 \dd或 \d+ 或者 \l+ 命令检索出来.其它检索评注的用户接口可以建设在 psql 所用地同样地内部函数的基础上,也就是 obj_description() 和 col_description(). 要修改一个评注,为同一个对象发出一条新的 COMMENT 命令即可.每个对象只存储一条评注. 要删除评注,在文本字串的位置写上 NULL.当删除对象时,评注自动被删除掉. 需要说明的是目前评注没有安全机制∶任何联接到某数据库上地用户 都可以看到所有该数据库对象地评注(尽管只有超级用户可以修改 不属于它地对象的评注).因此,不要在评注里放安全性敏感地信息. 用法 给表mytable 加评注: COMMENT ON mytable IS ''This is my table.''; 一些例子: COMMENT ON DATABASE my_database IS ''Development Database''; COMMENT ON INDEX my_index IS ''Enforces uniqueness on employee id''; COMMENT ON RULE my_rule IS ''Logs UPDATES of employee records''; COMMENT ON SEQUENCE my_sequence IS ''Used to generate primary keys''; COMMENT ON TABLE my_table IS ''Employee Information''; COMMENT ON TYPE my_type IS ''Complex Number support''; COMMENT ON VIEW my_view IS ''View of departmental costs''; COMMENT ON COLUMN my_table.my_field IS ''Employee ID number''; COMMENT |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 06—PL/SQL编程下一篇: 提高SQL Server安全性的一些建议
关于SQL大全[1]的所有评论