我正在试验我的mysql数据库的各种索引设置。
我想知道,通过删除或添加索引是否有可能以任何方式损坏数据行?显然我意识到,如果我使任何应用程序查询失败,那可能会导致错误的行。我更多的是谈论结构查询本身。
或者我只会影响数据库的效率?
我只是想知道我是否有安全的实验或者我是否必须谨慎?
答案 0 :(得分:3)
数据不在phpmyadmin
,而在mysql
。默认情况下,添加/删除索引不会影响数据完整性。使用唯一索引,并使用ignore
关键字。
那就是说 - 你应该总是备份你的数据,很容易运行像这样的测试:
CREATE TABLE t1 LIKE t;
INSERT INTO t1 SELECT * FROM t;
ALTER TABLE t1 CREATE INDEX ...;
然后比较表中的差异(在你的情况下,COUNT
可能很好)。
答案 1 :(得分:1)
根据表中的行,添加/删除索引是安全的。但是,正如您所指出的,过多的索引或构造不良的索引可能(非常)对性能有害。同样,在大型表上添加索引可能是一个非常昂贵的过程,并且可能使MySQL服务器瘫痪,所以最好不要在生产表上“试验”。