丞咪网

丞咪网

删除索引 前两条语句是等价的

admin 131

  删除索引可以使用ALTER TABLE或DROP INDEX语句来实现,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,其格式如下:

  DROP INDEX index_name ON talbe_name

  ALTER TABLE table_name DROP INDEX index_name

  ALTER TABLE table_name DROP PRIMARY KEY

  注:其中,前两条语句是等价的,删除掉table_name中的索引index_name。

  扩展资料:

  索引的使用及注意事项

  EXPLAIN可以帮助开发人员分析SQL问题,explain显示了mysql如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。

  使用方法,在select语句前加上Explain就可以了:Explain select * from user where id=1;

  尽量避免这些不走索引的sql:

  SELECT `sname` FROM `stu` WHERE `age`+10=30;-- 不会使用索引,因为所有索引列参与了计算

  SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990; -- 不会使用索引,因为使用了函数运算,原理与上面相同

  SELECT * FROM `houdunwang` WHERE `uname` LIKE'后盾%' 走索引

  SELECT * FROM `houdunwang` WHERE `uname` LIKE "%后盾%" 不走索引

  正则表达式不使用索引,这应该很好理解,所以为什么在SQL中很难看到regexp关键字的原因。

  字符串与数字比较不使用索引;

  CREATE TABLE `a` (`a` char(10));

  EXPLAIN SELECT * FROM `a` WHERE `a`="1" 走索引

  EXPLAIN SELECT * FROM `a` WHERE `a`=1 不走索引

  删除索引

  可利用ALTER TABLE或DROP INDEX语句来删除索引。类似于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,语法如下。

  DROP INDEX index_name ON talbe_name

  ALTER TABLE table_name DROP INDEX index_name

  ALTER TABLE table_name DROP PRIMARY KEY

  其中,前两条语句是等价的,删除掉table_name中的索引index_name。

  oracle :DROP INDEX index_name

  查询速度慢,跟你的插入没多大关系

  大表sdy_db_testb的C_testa字段建索引;

  把select a.*,b.c_xname from sdy_db_testb a left join sdy_db_testc b on 1=1 and b.c_testa=a.c_testa改成

  select a.*,b.c_xname from sdy_db_testc a left join sdy_db_testb b on 1=1 and b.c_testa=a.c_testa;

  即左边的为小表,这样就快 了;

  不知道你的需求是否要把大表的数据都取出来

  如果是都需要取出来的话,慢是必然的!因为要读的块数无法减少,IO开销你怎么优化都是无用的

  drop 试试。。。


标签: me