当前位置: 首页 > news >正文

情人做网站学网站开发需要学那些

情人做网站,学网站开发需要学那些,wordpress网站 添加微信,衡水网站建设优化推广【引言】今天中午项目组来一需求#xff0c;欲在MySQL环境的某张表下创建几个BTREE索引。要创建索引#xff0c;首先需要了解基表的表结构#xff0c;以及已经包含的索引。Oracle的表结构大家都很熟悉#xff0c;但MySQL表结构和已创建索引的查看怎么操作#xff0c;本文将…【引言】今天中午项目组来一需求欲在MySQL环境的某张表下创建几个BTREE索引。要创建索引首先需要了解基表的表结构以及已经包含的索引。Oracle的表结构大家都很熟悉但MySQL表结构和已创建索引的查看怎么操作本文将一一讲述。文章大纲1.Oracle如何查看表结构和索引2.MySQL如何查看表结构和索引3.结语一、Oracle如何查看表结构和索引先来回顾下Oracle是如何查看表结构及表索引首先查看oracle数据库的单个表结构使用Oracle的package包进行查看其语法如下DBMS_METADATA.GET_DDL (object_type IN VARCHAR2,name IN VARCHAR2,schema IN VARCHAR2 DEFAULT NULL,version IN VARCHAR2 DEFAULT ‘COMPATIBLE’,model IN VARCHAR2 DEFAULT ‘ORACLE’,transform IN VARCHAR2 DEFAULT ‘DDL’)RETURN CLOB;官方示例如下Example: Fetch the DDL for all Complete Tables in the Current Schema, Filter Out Nested Tables and Overflow SegmentsThis example fetches the DDL for all complete tables in the current schema, filtering out nested tables and overflow segments. The example uses SET_TRANSFORM_PARAM (with the handle value  DBMS_METADATA.SESSION_TRANSFORM meaning for the current session) to specify that storage clauses are not to be returned in the SQL DDL. Afterwards, the example resets the session-level parameters to their defaults.To generate complete, uninterrupted output, set the PAGESIZE to 0 and set LONG to some large number, as shown, before executing your query.SET LONG 2000000SET PAGESIZE 0EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,STORAGE,false);SELECT DBMS_METADATA.GET_DDL(TABLE,u.table_name)FROM USER_ALL_TABLES uWHERE u.nestedNOAND (u.iot_type is null or u.iot_typeIOT);EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,DEFAULT);这里我们使用简单操作命令如下SQL SELECT DBMS_METADATA.GET_DDL(TABLE,TABLE_NAME,’SCHEMA’) FROM DUAL;注意参数’TABLE’是要查询的对象因要查的是表结构所以是’TABLE’参数TABLE_NAME是要查的表名注意表名必须大写参数’SCHEMA’为表所属的属主也需要大写注意执行完上面这条语句你可能只是看到整个建表语句的一部分要生成完整的、不间断的输出在执行查询之前将PAGESIZE设置为0并将LONG设置为较大的数字如下所示。SQL SET LONG 2000000SQL SET PAGESIZE 0SQL SELECT DBMS_METADATA.GET_DDL(TABLE,TABLE_NAME,’SCHEMA’) FROM DUAL;2. 查看Oracle的表所包含的索引如使用用户账号登陆则查询user_indexesSQL select * from user_indexes where table_nameupper(‘table_name’);如果是使用sys账号登陆则查询dba_indexesSQL select * from user_indexes where table_nameupper(‘table_name’);注意upper函数将实现小写转换成大写。3. 根据上述索引名查看索引基于的字段/属性列SQL select * from dba_ind_columns where index_name upper(index_name);索引名大写或者通过upper函数转换成大写。至此Oracle环境下如何查看表结构和其所基于的索引介绍完毕。接下来再看MySQL环境下如何查看表结构和索引。二、MySQL环境下如何查看表结构和索引MySQL环境下你会发现查询语句简单的令人发指简单如下mysql use schema_name;–查看表结构定义mysql SHOW create table table_name \G;–查看表上的索引有哪些mysql SHOW INDEX FROM table_name \G或者再简单点用如下一天命令一次查清楚基于某表的索引mysql SHOW INDEX FROM mydb.mytable;即结束了。很惊喜很意外很舒爽。为避免Oracle介绍重MySQL轻的嫌疑这里具体介绍下官网中MySQL的索引部分。MySQL官网查看索引的语法SHOW INDEX SyntaxSHOW [EXTENDED] {INDEX | INDEXES | KEYS}{FROM | IN} tbl_name[{FROM | IN} db_name][WHERE expr]示例如下mysql show indexes IN my_schema.ethan_table \G*************************** 1. row ***************************Table: ethan_tableNon_unique: 1Key_name: idx_ethan_tableSeq_in_index: 1Column_name: order_idCollation: ACardinality: 368831Sub_part: NULLPacked: NULLNull:Index_type: BTREEComment:Index_comment:Visible: YESExpression: NULL2 rows in set (0.00 sec)该图可以看出key_name“ idx_ethan_table”即是索引的名称是基于表ethan_table的属性列order_id创建类型BTREE索引。SHOW INDEX返回以下主要字段介绍如下Non_unique如果索引不能包含重复项则为0;如果可以则为1。Key_name索引的名称。如果索引是主键那么名称总是主键。Seq_in_index索引中的列序列号从1开始。Column_name列名。Collation列在索引中的排序方式。它可以有值A(升序)、D(降序)或NULL(未排序)。Cardinality对索引中惟一值数目的估计。要更新这个数字运行ANALYZE TABLE或(对于MyISAM表)myisamchk -a。基数是基于存储为整数的统计数据进行计数的因此即使对于小表这个值也不一定是精确的。基数越高MySQL在执行连接时使用索引的机会越大。Sub_part该指数前缀。也就是说如果只对列进行部分索引则索引字符的数量;如果对整个列进行索引则为NULL。注意前缀限制以字节为单位度量。但是CREATE TABLE、ALTER TABLE和CREATE index语句中索引规范的前缀长度被解释为非二进制字符串类型(CHAR、VARCHAR、TEXT)的字符数和二进制字符串类型(binary、VARBINARY、BLOB)的字节数。在为使用多字节字符集的非二进制字符串列指定前缀长度时要考虑到这一点。Packed指示如何包装密钥。如果不是则为空。Null如果列可能包含空值则包含“是”;如果不包含空值则包含“否”。Index_type使用的索引方法(BTREE、FULLTEXT、HASH、RTREE)。Comment在它自己的列中没有描述的关于索引的信息例如如果索引被禁用则禁用索引。Index_comment在创建索引时使用comment属性为索引提供的任何注释。Visible索引是否对优化器可见。ExpressionMySQL 8.0.13及更高版本支持函数关键部分(参见函数关键部分)它同时影响Column_name和表达式列:对于非功能性键部件Column_name表示由键部件索引的列表达式为NULL。对于功能性键部件Column_name列为NULL而Expression表示键部件的表达式。关于表索引的信息也可以从INFORMATION_SCHEMA统计表中获得。隐藏索引的扩展信息只能通过显示扩展索引来实现;它不能从统计表中获得。可以使用**shell mysqlshow [options] [db_name [tbl_name [col_name]]]**命令列出表的索引。示例如下shell mysqlshow -k -uroot -p my_schema ethan_table order_id至此MySQL环境下如何查看表结构和其所基于的索引介绍完毕。【结语】1.本文回顾了Oracle环境下如何查看表结构和其所基于的索引以及MySQL下的更为人性、简单的查看语句2.MySQL 8.0.13以后可以使用shell mysqlshow [options] [db_name [tbl_name [col_name]]]命令列出表的索引3.感悟熟悉Oracle和MySQL的亲可能已经深有体会MySQL在语句的简洁性、易用性上下了很大的工夫不同于Oracle的语句那么复杂之前自己在“我的DBA之路”中也说过一段话“Oracle自治带来的门槛并不意味着成为高级Oracle DBA的拿督降低”但学好Oracle对其他数据库的设计理念和原理会帮助甚多。【参考】https://dev.mysql.com/doc/refman/8.0/en/show-index.html【参考】https://www.cnblogs.com/JokerShi/p/8087112.html
http://wiki.neutronadmin.com/news/137005/

相关文章:

  • 找公司做网站注意什么html5的网站
  • 两学一做专栏网站要对网页中各个元素
  • dede title 我的网站各网站网络营销产品价格策略
  • 网站默认数据库地址移动应用开发代码
  • 邮箱地址注册入口seo具体优化流程
  • 安远网站制作学校网站注重服务平台建设
  • 织梦网站模板教程企业网上申报入口
  • 中信建设有限责任公司内部网站免费google账号注册入口
  • 哪个网站做自媒体比较好dnf免做卡网站
  • 网站建设编程语言常州有哪些做阿里巴巴网站的
  • 奥派电子商务网站建设论文百度代理
  • 做订单管理网站用什么软件网站建设服务专业
  • 重庆公司网站建设步骤长沙大型做网站公司
  • 经典设计网站电子商务网站建设属性
  • 服务于中小企业建网站微信公众号设计软件
  • 建设部网站官网wordpress创建页面地址设置
  • 新建的网站如何做seo做本地的门户网站
  • 做纺织的都用什么网站石家庄站分布图
  • 番茄wordpress石家庄优化哪家好
  • 网站建设官网免费模板注册规划师报考条件2022
  • 网站访客qq抓取现在那个网站做宣传有效果
  • 国内专业做悬赏的网站怎么做自己的网站弄商城佣金
  • 家装网站模板下载网络技术学习网站
  • 一个在线做笔记的网站网站主机多大
  • 如何用wordpress做网站最新军事战争新闻消息
  • 湖北网站建设制作互联网100个创业项目
  • html5的网站设计网站除了域名还要什么
  • 建站一条龙设计制作wordpress 加载失败
  • asp.net做网站步骤百度优化是什么意思
  • 网站开发维护合同范本没有公司自己做网站