我有一个MySQL数据库,大小约17 GB,有3800万条目.目前,我需要增加一列的大小(varchar 40到varchar 80)并添加更多列.
许多字段都被编入索引,包括我需要更改的字段.它是应用程序工作所必需的唯一对的一部分.在昨天尝试进行更改时,查询运行了将近四个小时而没有完成,当我决定停止我们的停机并将服务重新启动时.
对这种尺寸的东西进行更改的最有效方法是什么?
其中许多条目也是旧的,如果有一种很好的方法可以对条目进行分类,但仍然可以通过使表格更容易管理来解决这个问题.
我有一个从数据库中所有表中删除用户信息的过程。
CREATE PROCEDURE `unrollme_version3`.`del_user` (in v_user_id int(10))
BEGIN
START TRANSACTION;
DELETE FROM user_table1 WHERE `user_id` = v_user_id;
DELETE FROM user_table2 WHERE `user_id` = v_user_id;
DELETE FROM user_table3 WHERE `user_id` = v_user_id;
COMMIT;
END
Run Code Online (Sandbox Code Playgroud)
我想以某种方式使输入变量仅是无符号的,以匹配数据库结构的设置方式。这可能吗,什么是最佳实践?