1. 查询表中的索引
1.查询表有多少条记录
select count(*) from table;
2.查询表中符合条件的记录数
select count(*) from table where id > 100;
3.查询每个分组的记录数
select name, count(*) as count from table group by name;
(1) 如果在开发中确实需要用到count()聚合,那么优先考虑count(*),因为mysql数据库本身对于count(*)做了特别的优化处理。
(2) 使用count()聚合函数后,最好不要跟where age = 1 这样的条件,会导致不走索引,降低查询效率,除非该字段已经建立了索引。使用count()聚合函数后,若有where条件,且where条件的字段未建立索引,则查询不会走索引,直接扫描了全表。
(3) count(字段),非主键字段,这样的使用方式最好不要出现,因为它不会走索引。
2. 查询表的索引字段
看系统表syscat.indexes ,能看到这个索引由那个字段组成,但是不能看到开始,结束位。
3. 查询表中的索引怎么写
1、查找表的所有索引(包括索引名,类型,构成列):selectt.*,i.index_typefromuser_ind_columnst,user_indexesiwheret.index_name=i.index_nameandt.table_name=i.table_nameandt.table_name=要查询的表2、查找表的主键(包括名称,构成列):selectcu.*fromuser_cons_columnscu,user_constraintsauwherecu.constraint_name=au.constraint_nameandau.constraint_type='P'andau.table_name=要查询的表3、查找表的唯一性约束(包括名称,构成列):selectcolumn_namefromuser_cons_columnscu,user_constraintsauwherecu.constraint_name=au.constraint_nameandau.constraint_type='U'andau.table_name=要查询的表4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select*fromuser_constraintscwherec.constraint_type='R'andc.table_name=要查询的表查询外键约束的列名:
select*fromuser_cons_columnsclwherecl.constraint_name=外键名称查询引用表的键的列名:select*fromuser_cons_columnsclwherecl.constraint_name=外键引用表的键名5、查询表的所有列及其属性selectt.*,c.COMMENTSfromuser_tab_columnst,user_col_commentscwheret.table_name=c.table_nameandt.column_name=c.column_nameandt.table_name=要查询的表6、Oracle中每个用户表的表名和行数selecttable_name,num_rowsfromuser_tables;7、Oracle查询用户表空间:
select*fromuser_all_tables8、Oracle查询所有函数和储存过程:
select*fromuser_source9、Oracle查询所有用户:
select*fromall_users;select*fromdba_users10、Oracle查看当前用户连接:select*fromv$Session11、Oracle查看当前用户权限:
select*fromsession_privs12、Oracle查看用户表空间使用情况: selecta.file_id"FileNo",a.tablespace_name "Tablespace_name", a.bytes"Bytes",a.bytes-sum(nvl(b.bytes,0))"Used", sum(nvl(b.bytes,0))"Free", sum(nvl(b.bytes,0))/a.bytes*100"%free" fromdba_data_filesa,dba_free_spaceb wherea.file_id=b.file_id(+) groupbya.tablespace_name, a.file_id,a.bytesorderbya.tablespace_name;
4. 查询表的索引的sql语句
可以使用设计器或者语句来建立索引
--创建聚集/非聚集索引 create [clustered][nonclustered] index idx_name on table (column a)--clustered 聚集索引--nonclustered 非聚集索引--idx_name 你的索引名称
5. 查询表的索引字段信息
orders字段。。。
6. 查询表中的索引怎么设置
首先在创建完索引之后,先运行: runstats on table schema.tablename and detailed indexes all 运行完统计后再分析你要执行的SQL语句,看索引能否用的上。
DB2是按照成本来进行语句执行的优化的,只要你正确的运行了统计,一般情况下,会优先选择使用索引。 也有部分情况下不会使用索引。
比如某个cloumn,同时创建了在索引1和索引2中,那DB2到底会选择索引1和索引2,就要看他认为使用哪个索引的成本低了。 很多不使用索引的情况是因为你们有做完正确的统计。 所以首先建议你先针对该表做一下完整的统计,命令见上。
7. 查询表中的索引信息
首先,什么是数据库:
数据库的目的是收集,存储和检索数据库应用程序使用的相关信息。
我们现在所说的数据库,一般也包含了DBMS。而关系型数据库,一般指的是 RDBMS。
什么是 DBMS(Database Management System (DBMS)):
数据库管理系统(DBMS)是控制数据的存储,组织和检索的软件。 通常,DBMS具有以下元素:
-内核代码
-此代码管理DBMS的内存和存储。
-元数据库
-该仓库通常称为数据字典。
-查询语言
这种语言使应用程序能够访问数据。
分析型是从数据库的作用来划分的,其重点用来做数据分析(OLAP),大量都是select语句。还有一种是专门用来做事务处理的,一般是短小的dml(OLTP)。
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。
OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
关系型数据库是 数据库的类型进行划分:数据库可以划分为 关系型(RDBMS),非关系型(no sql)
什么是关系模型:
在1970年的重要论文“大型共享数据库数据关系模型”中,E. F. Codd定义了一个基于数学集理论的关系模型。 今天,最广泛接受的数据库模型是关系模型。
关系模型是关系数据库管理系统(RDBMS)的基础。 基本上,RDBMS将数据移动到数据库中,存储数据并检索数据,以便可以由应用程序进行操作。
关系模型主要有以下几个方面:
-结构
定义明确的对象存储或访问数据库的数据。
-操作
明确定义的操作使应用程序能够操纵数据库的数据和结构。
-完整性规则
完整性规则管理对数据库的数据和结构的操作。
关系型数据库将数据存储在一组简单的关系中。 关系是一组元组。 元组是一组无序的属性值。
关系型数据库是符合关系模型的数据库。
表是以行(元组)和列(属性)的形式的关系的二维表示。 表中的每一行都具有相同的列集合。 关系数据库是一个数据库,用于存储关系中的数据(表)。 例如,关系数据库可以在雇员表,部门表和工资表中存储关于公司雇员的信息。
Relational Database Management System (RDBMS)
RDBMS将数据移动到数据库中,存储数据并检索数据,以便可以由应用程序进行操作。 RDBMS区分以下类型的操作:
-逻辑操作
在这种情况下,应用程序指定需要什么内容。 例如,应用程序请求员工名称或将员工记录添加到表中。
-物理操作
在这种情况下,RDBMS决定了事情应该如何完成并进行操作。 例如,在应用程序查询表之后,数据库可以使用索引来查找所请求的行,将数据读入存储器,并在将结果返回给用户之前执行许多其他步骤。 RDBMS存储和检索数据,使得物理操作对数据库应用程序是透明的。
oracle ,mysql,sqlserver,这些都是常见的关系型数据库。当它们应用于OLAP,数据仓库,大数据等用来分析的系统时,就是分析型的数据库。
8. 查询表的索引SQL
我这里以mysql为例,可视化工具使用的Navicat。
可以在查询的sql前面增加explain命令,以此可以查看到sql的运行状态
explain select * from person where edu ='博士';
下方的控制台主要关注两个栏,type和extra
当extra出现Using filesort和Using temproary这两个时,表示无法使用索引,必须尽快做优化。
当type出现index和all时,表示走的是全表扫描没有走索引,效率低下,这时需要对sql进行调优。
当type出现ref或者index时,表示走的是索引,index是标准不重复的索引,ref表示虽然使用了索引,但是索引列中有重复的值,但是就算有重复值,也只是在重复值的范围内小范围扫描,不造成重大的性能影响。
9. 查询表的索引 oracle
要通过查询ORACLE的数据字典才能知道。
1、查主键名称: select * from user_constraints where table_name = 'ART' and constraint_type ='P'; 查主键对应的列: select * from user_cons_columns where table_name = 'ART' and constraint_name = 'PK_ART';
2、查索引名称: select * from user_indexes where table_name = 'ART'; 查索引对应的列: select * from user_ind_columns where table_name = 'ART' and index_name = 'INDX_BA';
10. 查询表的索引名
牛氏世系
牛姓是中国十大古姓之一(姒 虞 嬴 子 风 金天 偃 高阳 陶唐 牛),牛姓远祖,可一直追溯于中华人文始祖——黄帝。黄帝生玄嚣,玄嚣生极,极生帝喾。帝喾即为中国历史上有名的“五帝”之一,称高辛氏。高辛氏子曰:后稷、契、尧、挚(同父异母),尧禅位于舜,舜禅位于禹,禹则传位于其子启。禹为中国原始社会向奴隶社会过渡的承上启下的关键人物,其生存年代约在公元前22世纪末至21世纪初。
尧之生存年代约在公元前23世纪(据传其仅当政时间即达100多年)其兄契在舜帝时,因辅佐大禹治水有功,被任命为司徒,管理臣民,封于商,赐姓子氏,其14世孙成汤,率天下诸侯打败了荒淫无道的夏代最后一个君主桀,从而建立了商朝。商历31帝、671年,商纣王时灭亡。
据被鲁迅誉为“史家之绝唱,无韵之《离骚》”的《史记》记载,商纣王无道,周武王(姬发)率众诸侯“誓于牧野”,一举推翻了其统治而建立了周朝。周朝建立后,武王四处寻贤,把众口皆碑且因反对商纣王而出逃在外的纣王庶兄微子请回封于宋(今河南商丘),“以奉商祀”。宋即周朝的诸侯国之一,宋微子亦即宋国开国君主,后亦成为中华牛姓始祖。
应当指出的是,据郑樵《通志·氏族略》载,以王父(祖父)字为氏系周代宗法制度所定。同时,宋微子之后当中,除牛姓外,以王父字为氏的还有孔、乐、边、鱼、皇甫等13姓,以王父“名”为氏的,还有微、仇、求、获等15姓,他们都同牛姓有着一定的血缘关系。
《通志·氏族略》
综上所述,黄帝为中华牛氏的远祖,微子启为牛氏的起始祖,牛父为牛氏的得姓祖,牛大老为山东临清陶山牛氏始祖、牛二老为河北清河牛氏始祖、牛四郎(字德刚)为山东章丘牛氏始祖、牛川即为十八打锅牛(锅碴牛)的总启世祖。在以后的历史变化中,打锅(锅碴)牛的后世则以不同的分支启世,其中一个分支“岗牛”则以岗祖启世。而同牛姓一样以微子启为起始祖的孔、乐、边、鱼、皇甫、微、仇、求、获等28姓都同牛姓有着一定的血缘关系。在历史发展中自愿由旁姓而改为牛姓的如今已是牛姓中的成员,纳西族、满族及藏、回、彝、白、土家、蒙古、东乡、朝鲜等兄弟民族中的牛姓,则各为中华民族大家庭中的一员。
在众多牛氏当中,以牛父为得姓祖,分别以牛大老、牛二老、牛四郎和牛川为启世祖的中华牛氏源流一直极为单纯。在2800余年的发展繁衍当中,曾出现过扁担牛、鞭杆牛、打锅(锅碴)牛等众多分支,但从无被冒姓或混入的记录,是一脉相传的商汤后裔。如果从遗传学的角度研究姓氏,源流单纯的牛氏是许多其他姓氏无法比拟的。作为牛氏子孙,应当以此引以自豪,进而激发自身更加敬宗而睦族,为民族、为国家、为社会做出更大的贡献。
牛氏起始祖:微子启
注:除文中已有注明者外,本文参阅的其他资料有:
1、王根泉《中国姓氏的文化解析》,团结出版社2000年1月版
2、西周孔子《论语》
3、《春秋左传·文公二》
4、《鲁迅全集》
5、《中国姓氏大辞典》
6、《中国姓氏大全》
牛氏家谱字辈
牛弘后裔河南济源市西许村“牛氏家谱”(俗称天官牛)载:从37世起,字辈谱如下:
青芝龙源 林萃田丰
正恒怀宗 慧泽栋英
前两句述祖荫,祖上择福地而物华天宝,树榜样而人杰地灵。后两句是教子孙,要健身洁心,缅怀宗训,以大智大睿润泽东方,成为国家的栋梁英才。
菏泽市定陶区孟海镇牛集村、牛屯村、牛庄村、胡牛村、牛楼村等牛氏族人姓氏字排如下:“锡效兴启尔,辉光月作立,自安恒易正。”
山东省泰安市新泰市东都镇东牛村的牛氏族人姓氏字排如下:“大洛振文慎,恒成立甲叶”。
宗族特征
牛姓起源于宋微子之后牛父。与其姓氏一样,牛姓多勤苦劳作,踏实肯干之人。
牛姓源于北而盛于北。据《明清进士题名碑录索引》所载,明清进士牛姓及第者共有六十五名,其中南方人仅有两名,人言江南才子山东将,其寥寥几人足以表明牛姓是典型的北方姓氏。
- 相关评论
- 我要评论
-