gpt4 book ai didi

这个简单的表需要MySql、引擎内存、索引吗?

转载 作者:行者123 更新时间:2023-11-29 09:01:59 25 4
gpt4 key购买 nike

我正在尝试实现一个非常快速的表,用于存储用户之间的关系。

CREATE TABLE IF NOT EXISTS `friends_ram` (
`a` varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`b` varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1;
INSERT INTO friends_ram (a, b)

我用大约 5M 的关系做了一些测试,它的速度非常快,并且占用了大约 134MB 的内存;我的问题是,因为查询将是:

SELECT a WHERE b = 'foo';

SELECT b WHERE a = 'baar';

我想知道是否应该使用适当的索引(增加所需的 RAM 大小)。

最佳答案

我实际上对结果感到羞愧,

可能是我第一次进行测试时我误读了输出。

事实证明,对于没有对 ab 建立索引的 1000 个随机查询,需要使用正确索引的 1000 次。咳咳...

另一个需要注意的非常重要的事情是我尝试使用 memcached。虽然存储数据需要更长的时间,但检索速度更快。而且它消耗的内存也更少。

mysql 192MB -> Mysql MEMORY engine did it in; 0.50138092041016 seconds
memcached 76MB -> Memcache engine did it in; 0.34592795372009 seconds
memcached compressed: 45.4 MBytes -> Memcache engine did it in; 0.31583189964294 seconds

所以,如果您需要存储诸如此类的简单内容,我建议使用 memcached(压缩)

关于这个简单的表需要MySql、引擎内存、索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8343241/

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