暂无图片
以下关于缓存的服务器配置参数描述,正确的是?
我来答
分享
D
dong
2023-08-21
以下关于缓存的服务器配置参数描述,正确的是?

以下关于缓存的服务器配置参数描述,正确的是?ABCDEF

A

table_definition_cache:表定义缓存。缓存表的定义、描述符等的文件数量。可以被所有连接共享。

B

thread_cache_size:线程缓存。可以保存在缓存中的线程数。关闭时才在缓存中增加线程,创建连接时才从缓存中删除线程。

C

read_rnd_buffer_size:随机读缓冲区大小。每个线程连接独自使用。查询需要使用时才分配内存,只会分配需要的内存大小。

D

read_buffer_size:读入缓冲区大小。查询需要使用时才分配内存,一次性分配内存大小。

E

sort_buffer_size:会根据排序大小分配对应的内存空间。

F

key_buffer_size:键缓存。设置索引块缓存大小。只可以缓存MYISAM表的索引。被所有线程共享。

G

join_buffer_size:协助完成JOIN操作的缓存区。作用为减少驱动表和被驱动表的读取次数。设置的值大小对性能影响不大。

H

table_open_cache:打开表的缓存数量。可以被所有连接共享。

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
落枫0907

ABCDEF

key_buffer_size:只可缓存MYISAM表的索引。被所有线程共享。 table_open_cache:打开表的缓存数量。每个连接各用自己的缓存空间,类似于ORACLE的PGA。 

table_definition_cache:表定义缓存。可以被所有连接共享。 thread_cache_size:线程缓存。下次连接关闭时生效。关闭时才在缓存中增加线程,创建连接时才从缓存中删除线程。 

sort_buffer_size:从 MySQL 8.012 开始优化器会根据需要分配内存缓冲区,而非此前一次性分配全部内存大小。 read_buffer_size:MySQL读入缓冲区大小。对表进行顺序扫描的请求将分配一个读入缓冲区,MySQL会为它分配一段内存缓冲区。 read_rnd_buffer_size:是MySQL的随机读缓冲区大小。当按任意顺序读取行时(例如,按照排序顺序),将分配一个随机读缓存区。进行排序查询时,MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度。MySQL会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大。只会在查询需要使用时才为该缓存分配内存,并且只会分配需要的内存而不是全部指定大小。 join_buffer_size:为了减少参与Join的“被驱动表”的读取次数以提高性能,需要使用到 Join Buffer 来协助完成 Join操作。当 Join Buffer 太小,MySQL 不会将该 Buffer 存入磁盘文件,而是先将Join Buffer中的结果集与需要 Join 的表进行 Join 操作,然后清空 Join Buffer 中的数据,继续将剩余的结果集写入此 Buffer 中,如此往复。这势必会造成被驱动表需要被多次读取,成倍增加 IO 访问,降低效率。

暂无图片 评论
暂无图片 有用 3
暂无图片
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏