【发布时间】:2014-04-23 23:24:22
【问题描述】:
Procedure Analyse() 建议我的列的最佳字段。我想从我已有的表开始创建一个具有最佳字段类型的新表。这时候我在跑
SELECT * FROM mytable PROCEDURE ANALYSE();
然后我复制报告并手动编写创建语句。有没有办法自动做到这一点?更改具有新字段类型的表或创建具有最佳字段类型的新空表并重新导入数据是否更有效?
【问题讨论】:
标签: mysql alter-table
Procedure Analyse() 建议我的列的最佳字段。我想从我已有的表开始创建一个具有最佳字段类型的新表。这时候我在跑
SELECT * FROM mytable PROCEDURE ANALYSE();
然后我复制报告并手动编写创建语句。有没有办法自动做到这一点?更改具有新字段类型的表或创建具有最佳字段类型的新空表并重新导入数据是否更有效?
【问题讨论】:
标签: mysql alter-table
事实上,您不希望盲目地接受此分析返回的数据类型,因为您可能/永远无法确定“建议”了哪些数据类型。此过程返回“可能”有助于减少数据存储要求的“建议”最佳数据类型。返回值还取决于您选择的表中的数据,并且可能会在您每次对新数据运行此查询时更改。
在dev.mysql上阅读更多内容
但是如果你想尝试一些东西,我会先构建一个我自己的过程,它可以将推荐的返回数据类型传递到动态创建的 DDL 语句中,你需要检查可能的不正确数据类型,然后执行结果DDL。就您的代码而言,这可能需要一些时间,但您确实应该阅读更多有关 Procedure Analyze() 的内容
【讨论】: