仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 676|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL教程之查询表主键外键信息的SQL

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果你需要额外的功能的话,MySQL的普及性实际上可以让你发现总有一个厂商会提供准确的解决方案,而这个方案会满足你的需要和需求。我的BSOOC里必要一个查询表主键外键信息的SQL,昨晚研讨到清晨1点,终究能完成这个方针:
Oracle:
selecto.obj#asobjectId,o.nameAStableName,oc.nameASconstraintName,
decode(c.type#,1,C,2,P,3,U,
4,R,5,V,6,O,7,C,?)asconstraintType,
col.nameAScolumnName

fromsys.con$oc,sys.con$rc,
sys.obj$ro,sys.obj$o,sys.obj$oi,
sys.cdef$c,
sys.col$col,sys.ccol$cc,sys.attrcol$ac
whereoc.con#=c.con#
andc.obj#=o.obj#
andc.rcon#=rc.con#(+)
andc.enabled=oi.obj#(+)
andc.robj#=ro.obj#(+)
andc.type#!=8
andc.type#!=12/*dontincludeloggroups*/
andc.con#=cc.con#
andcc.obj#=col.obj#
andcc.intcol#=col.intcol#
andcc.obj#=o.obj#
andcol.obj#=ac.obj#(+)
andcol.intcol#=ac.intcol#(+)
ando.name=yourtable

SQLServer:
SELECTsysobjects.idobjectId,
OBJECT_NAME(sysobjects.parent_obj)tableName,
sysobjects.nameconstraintName,
sysobjects.xtypeASconstraintType,
syscolumns.nameAScolumnName
FROMsysobjectsINNERJOINsysconstraints
ONsysobjects.xtypein(C,F,PK,UQ,D)
ANDsysobjects.id=sysconstraints.constid
LEFTOUTERJOINsyscolumnsONsysconstraints.id=syscolumns.id
WHEREOBJECT_NAME(sysobjects.parent_obj)=yourtable

别的数据库还没工夫往完成.

“通过有能力的DBA的一个简单计划,MySQL可以达到令人难以想像的运行速度,”一位资深DBA如此表示。MySQL中没有多余的功能来拖累CPU或占用内存。
分手快乐 该用户已被删除
沙发
发表于 2015-1-19 18:52:18 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
莫相离 该用户已被删除
板凳
发表于 2015-1-25 11:08:31 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
蒙在股里 该用户已被删除
地板
 楼主| 发表于 2015-2-2 21:50:43 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
只想知道 该用户已被删除
5#
发表于 2015-2-8 07:39:38 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
活着的死人 该用户已被删除
6#
发表于 2015-2-25 00:20:20 | 只看该作者
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
谁可相欹 该用户已被删除
7#
发表于 2015-3-7 14:43:43 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
透明 该用户已被删除
8#
发表于 2015-3-15 07:44:48 | 只看该作者
光写几个SQL实在叫无知。
柔情似水 该用户已被删除
9#
发表于 2015-3-21 21:59:00 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表