向有索引的数据表插入数据的速度问题 向一个有索引(5个索引)的数据表插入数据,一次插入一条,经常有新数据插入请问需要先禁用索引( ALTER TABLE 表名 DISABLE KEYS ),后插入数据,再开启索引( ALTER TABLE 表名 ENABLE KEYS )吗谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般不需要,除非数据量很大,你可以先关闭索引,然后等所有数据UPLOAD完成再开启索引,让MYSQL重构所有索引。 实际上,任何系统都是分层次的,即如果你是程序员,你就做程序员的事,你只需要使用查询、插入更新的SQL语句就可以了,实际上索引的事是数据库自己的事情。有研究认为,数据库的索引不应该摆在程序员的面前,而应该由数据库自己去处理,把索引摆在程序员面前去解决,实际上是越界了。但现在大多数数据库,仍然把索引的事交给程序员去做。这样在某些时候会提高效率,因为程序员了解数据特征,知道哪些数据经常变化和查询。但这样看起来很合理的事情在交流成本、使用风险上都存在很大问题。好的数据库系统会自行建立和维护数据库索引,能自动分析哪些该建立索引,哪些不该建立,数据表如何分区,怎样分区,这些都应该由数据库自己去处理。专业化的处理和专业化的分工,高内聚低耦合一直是完美系统的典范。 shell命里面里面 删除二个月前备份的数据? 关于数据字符编码不一致的问题 求关于多条记录合并一条数据的SQL语句在mysql里 C API函数问题 用MySQL-front远程连接MySQL服务器的问题 日期比较问题! 请教使用innodb表的数据库备份与恢复? 求正则表达式 mysql如何将A(172.20.0.1)服务器上A1表的数据导入到B(172.20.1.1)服务器上的B1表中 求解关于数据库表设计的问题! Mysql中有没有方法知道当前表已经被锁定。 求一个sql查询问题
但现在大多数数据库,仍然把索引的事交给程序员去做。这样在某些时候会提高效率,因为程序员了解数据特征,知道哪些数据经常变化和查询。但这样看起来很合理的事情在交流成本、使用风险上都存在很大问题。
好的数据库系统会自行建立和维护数据库索引,能自动分析哪些该建立索引,哪些不该建立,数据表如何分区,怎样分区,这些都应该由数据库自己去处理。
专业化的处理和专业化的分工,高内聚低耦合一直是完美系统的典范。