mysql对yggl数据的建立索引_建立索引和创建视图(结合YGGL.sql)

一.请按要求对YGGL库建立相关索引

(1)使用create index 语句创建索引

1.对employees表中的员工部门号创建普通索引depart_ind.

mysql> create index depart_ind

-> on employees(员工编号);

Query OK, 12 rows affected (0.04 sec)

Records: 12  Duplicates: 0  Warnings: 0

2.对 employees表中的姓名和地址创建复合索引 ad_ind.

mysql> create index ad_ind  on employees(姓名,地址);

Query OK, 12 rows affected (0.00 sec)

Records: 12  Duplicates: 0  Warnings: 0

3.对 departments表中的部门名称创建唯一索引.

mysql> create unique index department_index

-> on departments(部门名称);

Query OK, 5 rows affected (0.04 sec)

Records: 5  Duplicates: 0  Warnings: 0

(2) 使用alter table 语句添加索引

1.对employees表中的出生日期添加一个唯一索引date_ind,姓名和性别添加一个复合索引na_ind.

mysql> alter table employees add unique index date_ind(出生日期),

-> add index na_ind(姓名,性别);

Query OK, 12 rows affected (0.03 sec)

Records: 12  Duplicates: 0  Warnings: 0

2.对 departments 表中的部门编号创建主键索引.

mysql> alter table departments

-> add primary key 部门编号_index(部门编号);

Query OK, 5 rows affected (0.00 sec)

Records: 5  Duplicates: 0  Warnings: 0

(3) 创建表的同时创建索引

创建表cpk(产品编号,产品名称,单价,库存量),并对产品编号创建主键,在库存量和单价上创建复合索引cpk_fh.

mysql> create table cpk(

-> 产品编号 char(20)not null ,产品名称 varchar(30),单价 decimal(10,2),库存量 int(10),

-> primary key (产品编号),

-> index cpk_fh(库存量,单价));

Query OK, 0 rows affected (0.03 sec)

二.显示employees表的索引情况

三.删除索引

(1)使用drop 方式删除索引

1.删除employees表中的员工部门号的索引

mysql> drop index depart_index on employees;

Query OK, 12 rows affected (0.00 sec)

Records: 12  Duplicates: 0  Warnings: 0

(2)使用alter 方式删除索引

2.删除employees表中姓名和性别的复合索引na_ind

mysql> drop index na_ind on employees;

Query OK, 12 rows affected (0.00 sec)

Records: 12  Duplicates: 0  Warnings: 0

四、简述索引的优缺点

优:(1)通过创建唯一性索引,可以保证数据记录的唯一性。

(2)可以大大加快数据的检索速度。

(3) 可以加快表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。

(4)在使用ORDEY BY 和GROUP BY子句进行数据检索时,可以显著减少查询中分组和排序的时间。

(5)使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。

缺:检索引带来的查找速度的提高也是有代价的,因为索引要占用存储空间,而且为了维护索引的有效性,向表中插入数据或者更新数据时,数据库还要执行额外的操作来维护索引

五、创建视图

1.创建视图emp_view,包含所有男员工的员工编号,姓名,工作年限和学历.

mysql> create or replace view emp_view

-> as

-> select 员工编号,姓名,工作年限,学历

-> from employees

-> where 性别=1;

Query OK, 0 rows affected (0.00 sec)

2.从emp_view视图中查询工作年限在两年以上的员工信息。

mysql> select * from emp_view

-> where 工作年限>2;

+--------------+-----------+--------------+--------+

| 员工编号     | 姓名      | 工作年限     | 学历   |

+--------------+-----------+--------------+--------+

| 000001       | 王林      |            8 | 大专   |

| 010008       | 伍容华    |            3 | 本科   |

| 102201       | 刘明      |            3 | 本科   |

| 302566       | 李玉珉    |            3 | 本科   |

+--------------+-----------+--------------+--------+

4 rows in set (0.00 sec)

原文:https://www.cnblogs.com/beliss/p/12934420.html

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要建立yggl相关索引,您可以按照以下步骤进行: 1. 打开MySQL客户端,并连接到您的MySQL服务器。 2. 选择您要创建索引数据,例如: ``` USE database_name; ``` 3. 创建索引,例如创建一个名为 index_name 的索引,该索引基于表 table_name 中的列 column_name: ``` CREATE INDEX index_name ON table_name (column_name); ``` 4. 如果您想要创建一个唯一索引,则可以使用以下语法: ``` CREATE UNIQUE INDEX index_name ON table_name (column_name); ``` 5. 如果您想要创建一个多列索引,则可以使用以下语法: ``` CREATE INDEX index_name ON table_name (column1, column2); ``` 6. 如果您想要删除索引,则可以使用以下语法: ``` DROP INDEX index_name ON table_name; ``` 请注意,在创建索引时,您需要考虑到表中的数据量和查询频率,以确定是否需要创建索引,以及应该创建哪些类型的索引。同时,索引也会占用数据的存储空间和增加写操作的开销,因此需要权衡利弊,做出适当的决策。 ### 回答2: yggl是一个关系型数据建立相关索引可以提高查询效率和加快数据检索的速度。建立索引是在数据表中某些列上创建的特殊结构,可以根据这些列的值快速定位到具有相应值的记录。 在对yggl建立相关索引时,我们可以考虑以下几个方面: 首先,分析查询需求。根据查询的频率和重要性,选择需要建立索引的字段。常见的索引类型有主键索引、唯一索引、全文索引等,可以根据实际需求选择合适的索引类型。 其次,分析数据表结构。根据数据表的大小和复杂度,确定建立索引的策略。对于大表,可以考虑使用索引片段来减少索引维护的开销;对于多列查询,可以考虑建立复合索引来提高查询效率。 然后,执行创建索引的操作。使用SQL语句创建索引,可以使用CREATE INDEX语句来建立索引。在创建索引时,需要考虑索引的大小和维护的开销,以及对插入、更新和删除操作的影响。 最后,定期维护索引。由于数据的变化和查询的需求可能发生改变,需要对索引进行定期的维护和优化。可以使用ANALYZE TABLE语句来重新分析表的索引,以保证索引的有效性和性能。 总之,对yggl建立相关索引可以提高查询效率和加快数据检索的速度。在建立索引时,需要根据查询需求和数据表结构进行分析,并对索引进行定期的维护和优化,以保证索引的有效性和性能。 ### 回答3: yggl是一个数据建立相关索引可以提高数据的查询效率和性能。建立索引是通过将数据表中的某一列或多个列进行排序和存储,以加快数据的检索速度。在建立相关索引时需要考虑以下几点: 首先,选择合适的列作为索引列,通常应选择那些经常用于查询条件的列,如常用的关键字搜索字段、排序字段等。在yggl中,可以考虑将常用的查询字段如员工姓名、部门名称、职位编号等作为索引列。 其次,建立唯一索引可以确保数据的唯一性,避免重复数据的插入。在yggl中,可以建立唯一索引来确保员工的工号或身份证号不重复。 另外,根据查询的需求,可以建立组合索引来提高查询效率。组合索引是通过多个列的组合来建立的,查询中使用这些列的部分或全部都可以通过该索引来进行加速。在yggl中,可以根据常用的查询条件建立组合索引,例如部门名称和员工职位编号的组合索引。 同时,需要定期检查和维护索引,包括索引的重建、优化以及删除不再使用的索引。这可以保证索引的更新和调整,进一步提高查询性能。 总结来说,对yggl建立相关索引可以有效提高数据的查询效率和性能,提升系统的响应速度。但需要根据具体业务需求和查询场景来选择适当的列作为索引列,并进行定期检查和维护以保证索引的有效性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值