gpt4 book ai didi

mysql - MySql中如何正确处理长键约束(超过3072)?

转载 作者:行者123 更新时间:2023-11-29 23:42:03 24 4
gpt4 key购买 nike

我可以看到SO上有关于这个问题的类似问题和答案。我需要对 7 列一起创建唯一约束。

alter table ga_data_model add constraint uq_1234596 unique (portal_id,date,dimension,country,os,os_version,theme);

有多种使用前缀键来解决此问题的答案。但是,由于数据的性质,仅使用前一个或两个字符来创建索引是危险的,因为这可能会导致重复的结果。所以这样的解决方案对我来说不起作用:


alter table ga_data_model add constraint uq_1234596 unique (portal_id,date(2),dimension(2),country(1),os(2),os_version(1),theme(2));

我正在考虑在表中创建一个新列,其中包含这些列的计算哈希值,并且我对此创建了约束。但这意味着每次我想向数据库插入一些内容时,我需要首先对此列进行选择,计算新值的哈希值,比较它们并保存/或不保存。考虑到我将进行大量的写入操作,我认为这有点太昂贵了。

有人遇到过同样的问题并且有更好的解决方案吗?正如我上面所解释的?谢谢!

最佳答案

I want to insert something into db, I need to first do a select for this column, calculated the hash for the new values, compare them and save/or not save

不 - 您保存它,如果您遇到唯一 key 违规,那么您已经拥有了数据。另外,将哈希计算实现为表触发器 - 这样就没有修改数据的后门。

关于mysql - MySql中如何正确处理长键约束(超过3072)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26115782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com