gpt4 book ai didi

mysql - 从查询中添加/填充 MySQL 表索引

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

我正在将顺序数据的 CSV 文件导入 MySQL 数据库。不幸的是,顺序数据不是按顺序排列的(例如 - a1、j10、k11、b2、c3、d4、e5、f6、g7、h8、i9)。

因此,我不想按照它们当前的顺序添加键。我想适本地对它们进行排序,然后添加 key 。

现在,我知道顺序并不是那么重要。幽默一下,我是肛门保留的。此数据不应更改,因此如果按键列排序,我希望它是连续的。

有没有一种方法可以创建查询并同时执行所有关键操作?

This StackOverflow question向我展示了添加列的代码,但顺序不正确。

我想做的是将其实现到 ORDER BY 查询中。

最佳答案

这可能不是您想要的解决方案,但我有理由相信它是您数据的最佳解决方案(假设您向我们提供了所有相关信息)。

您似乎想在表中有一个主键列。像一个自动递增的整数左右。但是您的数据本身提供了主键。输入文件中唯一的列元组。不需要(对于任何查询)另一列。如果没有它,所有信息都在那里,它只会占用您的光盘(更糟糕的是,您的内存)上的更多空间。

这是我要做的:让表的主键覆盖构成序列顺序的列的唯一元组。然后只需加载您的数据。

这个例子对我有用:

create TABLE test_table (col1 VARCHAR(255) NOT NULL, col2 VARCHAR(255) NOT NULL, col3 VARCHAR(255) NOT NULL, PRIMARY KEY (col1, col2, col3));

LOAD DATA INFILE 'test_data.tsv' INTO TABLE test_table (col1, col2, col3);

测试数据.tsv:

2   1   1  
1 1 2
2 1 2
1 2 1
1 2 2
2 2 1
2 2 2
1 1 1

如果我这样做,一切都井井有条

SELECT * FROM test_table ORDER BY col1, col2, col3;

您必须编写的稍微长一点的 (,col2,col3) 查询是否有问题?创建 View 或存储过程!不要用完全多余的列来膨胀您的表格。

关于mysql - 从查询中添加/填充 MySQL 表索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44830846/

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