Mysql 查找数据库中接近极限的列的工具?

Mysql 查找数据库中接近极限的列的工具?,mysql,profiling,Mysql,Profiling,有人能告诉我一个工具、脚本、方法、查询等,可以帮助我找到数据库中所有值接近列大小限制的列吗 例如,如果我碰巧有一列是smallint8,那么可以存储在该列中的最大值是32767。如果该表中的任何行的值为。。。我想知道的是,超过该栏限制的90% 谢谢。对于简单的整数: SELECT * FROM a WHERE a.anumber > (32767 * 0.9) 对于文本,可以使用长度函数 SELECT * FROM a WHERE LENGTH(a.stringfield) > 2

有人能告诉我一个工具、脚本、方法、查询等,可以帮助我找到数据库中所有值接近列大小限制的列吗

例如,如果我碰巧有一列是smallint8,那么可以存储在该列中的最大值是32767。如果该表中的任何行的值为。。。我想知道的是,超过该栏限制的90%


谢谢。

对于简单的整数:

SELECT * FROM a WHERE a.anumber > (32767 * 0.9)
对于文本,可以使用长度函数

SELECT * FROM a WHERE LENGTH(a.stringfield) > 20;

请注意,使用函数会扼杀在该字段上使用索引的任何机会。

根据数据库的大小,这将是一个相当资源密集型的操作-每列每表一个表,尽管您可能会有创意!绝对是资源密集型!我希望将此作为每月的分析类型操作运行,而不是定期运行:-Johan,尽管我很感激快速的回答。。。我希望我在问题中明确指出,我正在寻找一种工具或脚本,可以自动搜索整个数据库中的所有列。我的目标是不根据列的大小为数据库中的每一列创建这些单独的查询,然后运行它。这是拥有工具或脚本的好处。很酷,但你说:有人能给我指一个工具、脚本、方法吗,query@Keylan您可以使用Information_模式生成查询,就像Johan showedIt的潜在SQL注入噩梦一样,但是您可以使用动态SQL和Information_模式中的数据生成所需的查询。当我有时间的时候,我会试一试。嘿,伙计,如果你能通过一个查询找到数据库中所有值接近列大小限制的列,我很乐意使用它!:-我认为这不需要任何用户输入——SQL注入的可能性在哪里?我很高兴看到你最终制作了《约翰》!