diff --git "a/\346\233\276\344\275\263\347\202\234/20241018\347\264\242\345\274\225\347\273\203\344\271\240\344\270\216\344\275\234\344\270\232.md" "b/\346\233\276\344\275\263\347\202\234/20241018\347\264\242\345\274\225\347\273\203\344\271\240\344\270\216\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..fe7f60adc0d730b1a3f42f11d2d61a74be814a75 --- /dev/null +++ "b/\346\233\276\344\275\263\347\202\234/20241018\347\264\242\345\274\225\347\273\203\344\271\240\344\270\216\344\275\234\344\270\232.md" @@ -0,0 +1,47 @@ +```sql +-- 练习和作业 +-- 1.给emp分别建立 普通索引和唯一索引 +CREATE INDEX idx_emp_ename ON emp(ename); + +CREATE UNIQUE INDEX idx_emp_empno ON emp(empno); +-- 2.查询emp表有哪些索引 +SHOW INDEX FROM emp; +-- 3. 使用有索引的字段进行查询,再查看这条语句是否使用到了索引。 +EXPLAIN SELECT * FROM emmp WHERE ename = '甘宁'; + +EXPLAIN SELECT * FROM emp WHERE empno = 1001; + +-- 4. 删除前面建立的两个索引 +DROP INDEX idx_em_ename on emp; +DROP INDEX idx_emp_empno on emp; +-- 5. 选择两个字段添加一个复合索引 +CREATE INDEX idx_em_deptno _job ON em(deptno, job); +-- 6. 使用复合索引的字段进行查询 +EXPLAIN SELECT * FROM emp WHERE deptno = 20 AND job = '文员'; +-- 作业 +-- 想办法用自己的电脑,生成500万行数据,id,uname,age 尽量随机,并记录时间。 +-- 1. 不用索引查询 一次姓名uname /并记录时间 +-- 2. 建立索引查询 一次姓名uname /并记录时间 + + +drop function if exists mock_date ; +set global log_bin_trust_function_creators=true; +delimiter // +create function mock_date() +returns int +begin + declare num int default 5000000 ; + declare i int default 0 ; + + while i < num do + insert into aaa ( user_name, age) VALUES (concat('用户' , i), 18) ; + set i = i + 1 ; + end while ; + return i ; +end // + +select mock_date() ; +``` + + +