收藏 分销(赏)

MySQL启动选项.doc

上传人:xrp****65 文档编号:7661610 上传时间:2025-01-11 格式:DOC 页数:9 大小:126KB
下载 相关 举报
MySQL启动选项.doc_第1页
第1页 / 共9页
MySQL启动选项.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述
MySQLD Ver 5.1.26-rc-log for redhat-linux-gnu on i686(源分发版)启动选项详解 这个软件没有绝对的担保。它是一个自由软件,在遵守GPL许可条款的情况下欢迎你修改并可重新分发。 默认的选项从以下文件并按给出的次序来读取:/etc/f /etc/mysql/f MYSQLHOME/etc/f ~/f。 以下列出了MySQL的选项及其含义(加粗参数为对性能影响比较大的参数): --print-defaults 打印程序参数列表并退出。 --no-defaults 不从任何选项文件读取默认选项。 --defaults-file=# 仅从给出的文件中读取默认选项。 --defaults-extra-file=# 读取全局选项文件之后所读取的选项文件。 --abort-slave-event-count=# 被mysql-test用于调试并测试复制功能的选项。 --allow-suspicious-udfs 在没有相应的xxx_init()或xxx_deinit()的时候允许使用仅由xxx()组成的用户自定义函数。这也意味着能从任何库加载任何函数,例如从libc.so加载exit()。 --ansi 用ANSI SQL语法代替MySQL语法。这个模式会将事务隔离级别设为 ‘serializable’。 --auto-increment-increment[=#] 自动增长列开始值。 --auto-increment-offset[=#] 自动增长列每次增长值。 --automatic-sp-privileges 建立删除修改ACL的存储过程。可通过--skip-automatic-sp-privileges禁用. --back_log=# 它指明在MySQL停止响应连接请求前有多少个连接请求可以放在堆栈中等候处理。停止响应的这个短时间内,主线程将会检查连接并且启动一个新线程。只有当MySQL主线程在很短的时间内接收了非常多的连接请求时这个参数的作用才会表现出来。不支持在线修改。back_log默认值为50。 --basedir=name 基本目录。所有相对路径的解析都是相对于此参数。 --big-tables 通过把所有的临时表放在文件里面允许大记录集(用于解决大多数的‘table full’错误)。 --bind-address=name 绑定的IP地址。 --binlog-do-db=name 告诉主服务器要记录二进制日志的数据库,没有明确指定的数据库将不会记录二进制日志。 --binlog-ignore-db=name 告诉主服务器不需要记录二进制日志的数据库。 --binlog-row-event-max-size=# 以字节为单位的基于行的二进制日志事件的最大尺寸。如果可能,行将被聚合的比这个值更小。这个值必须是256的倍数(The value has to be a multiple of 256)。 --binlog_cache_size=# 在一个事务期间用于二进制日志SQL语句的缓存尺寸。如果你经常使用大的,多行语句事务,你可以增长这个值以得到更好的性能。(最小值4096Byte,即4K,实践所得)。 --binlog_format=name 如果没有log-bin,它将没有任何作用。它告诉主服务器使用的二进制日志模式:基于行的二进制日志(row),基于语句的二进制日志(statement),或者混合日志(mixed)。混合日志是在调用用户自定义函数或者UUID()函数的情况下使用基于行的日志,其余情况下使用基于语句的日志的日志模式。 --bootstrap 被MySQL安装脚本所使用。 --bulk_insert_buffer_size=# 加快大批量插入(如insert...select、insert...values,values、load data infile等)性能的树形缓冲区大小。缺省值为8M,设置为0则表示不使用该优化。如果不使用MyISAM表,则可以将其设置为0。 --character-set-client-handshake 在握手期间不能忽略发送出去的客户端字符集。 --character-set-filesystem=name 文件系统字符集名称。 --character-set-server=name 默认字符集名称。 --character-sets-dir=name 字符集所在目录。 --chroot=name mysqld守护进程启动后能操作的目录根部。也即让mysqld守护进程运行在chroot环境中。这样SQL语句LOAD DATA INFILE和Select ... INTO OUTFILE就限定在chroot_path下读写文件了。这里有一点要注意,MySQL启动后会建立一个mysql.sock文件,默认是在/tmp目录下。使用了chroot后,MySQL会在chroot_path/tmp去建立mysql.sock文件,如果没有chroot_path/tmp目录或启动MySQL的用户没有这个目录写权限就不能建立mysql.sock文件,MySQL会启动失败。比如我们加了--chroot=/usr/local/mysql/启动参数,那么最好建立一个启动MySQL的用户能写的/usr/local/mysql/tmp目录,当然我们也可以用--socket=path来指定mysql.sock文件的路径,但这个path一定要在chroot_path里面。 --collation-server=name 默认比较规则名称。 --completion-type=# 事务完成类型:如果该值为0(默认),COMMIT和ROLLBACK不受影响。如果该值为1,COMMIT和ROLLBACK分别等同于COMMIT AND CHAIN和ROLLBACK AND CHAIN。(新事务用刚刚结束的事务相同的间隔等级立即启动)。如果该值为2,COMMIT和ROLLBACK分别等同于COMMIT RELEASE和ROLLBACK RELEASE(事务终止后,服务器断开)。 --concurrent-insert[=#] 开启或关闭MyISAM表查询和插入操作的并发特性,取值为0,1,2。当concurrent_insert设置为1时,如果MyISAM表中没有空洞(即表的中间没有被删除的行),MyISAM允许在一个进程读表的同时,另一个进程从表尾插入记录。这也是MySQL的默认设置。当concurrent_insert设置为2时,无论MyISAM表中有没有空洞,都允许在表尾并发插入记录。(当read local时生效) --connect_timeout=# mysqld在用’Bad handshake’消息响应连接请求包之前等待的秒数。 --console 在屏幕上显示错误信息。 --core-file 写核心错误。 --datadir=name 数据库(数据)根目录路径。 --datetime_format=name DATETIME/TIMESTAMP格式。 --date_format=name DATE格式。 --default-character-set=name 默认字符集名称(反对使用,用character-set-server代替) 。 --default-collation=name 默认比较规则(反对使用,用collation-server代替) 。 --default-storage-engine=name 用于表格的默认存储引擎。 --default-table-type=name 反对使用,用default-storage-engine代替。 --default-time-zone=name 默认时区。 --default_week_format=# 被week()函数使用的默认周格式。 --delay-key-write[=name] off:忽略CREATE TABLE … DELAYED_KEY_WRITES中的DELAYED_KEY_WRITES;on:不忽略CREATE TABLE … DELAYED_KEY_WRITES中的DELAYED_KEY_WRITES(默认);all:所有打开的数据表都将按照 DELAYED_KEY_WRITES 处理。如果 DELAYED_KEY_WRITES 开启,对于已经打开的数据表而言,在每次索引更新时都不刷新带有DELAYED_KEY_WRITES 选项的数据表的key buffer,除非该数据表关闭。该参数会大幅提升写入键值的速度。 --delay-key-write-for-all-tables 在写任何一个MyISAM表之间不刷新key buffer(反对使用,用delay-key-write=all代替) 。 --delayed_insert_limit=# 在插入delayed_insert_limit行后,INSERT DELAYED处理器将检查是否有任何SELECT语句未执行。如果这样,在继续前允许执行这些语句。  --delayed_insert_timeout=# 一个INSERT DELAYED线程在终止之前应该等待INSERT语句的时间。  --delayed_queue_size=# 为了处理INSERT DELAYED语句而分配的队列大小(行数),如果队列满了,任何提交INSERT DELAYED语句的客户端将等待直到队列有了空间。 --disconnect-slave-event-count=# 被mysql-test用于复制的调试与测试的选项。 --div_precision_increment=# 除法结果的精度位数(如3.14精度为2位小数) 。 --enable-locking 反对的选项,用external-locking 代替。 --engine-condition-pushdown 推送支持的查询条件到存储引擎。 --event-scheduler[=name] 开启或禁用事件调度程序。 --expire_logs_days=# 二进制日志到期天数。在到期以后将被清除。清除可能发生在启动时与日志循环时。 --external-locking 使用系统外部锁定(默认禁用)。如果开启这个选项,你可以在MySQL服务器运行的时候运行myisamchk去检查表(不能修复)。通过 skip-external-locking禁用。 --flush 在SQL命令期间刷新表格到磁盘。 --flush_time=# 在给定的间隔内一个用于刷新所有表格的专用线程被创建(也即用于刷新所有表格的间期) 。 --ft_boolean_syntax=name 对于MATCH ... AGAINST ( ... IN BOOLEAN MODE)的操作符列表。 --ft_max_word_len=# 包含在全文索引中的词的最大长度。注意: 在改变这个值后全文索引必须被重建。 --ft_min_word_len=# 包含在全文索引中的词的最小长度。注意: 在改变这个值后全文索引必须被重建。 --ft_query_expansion_limit=# 用WITH QUERY EXPANSION进行全文搜索的最好匹配数。 --ft_stopword_file=name 使用停用词文件代替内建的列表。 --gdb 为调试建立可用的信号。 --general-log 启用或禁用通用日志。 --group_concat_max_len=# 函数group_concat结果的最大长度。 --help 显示帮助信息。 --init-connect=name 每一个新建连接开始所要执行的命令。 --init-file=name 启动时从这个文件读取SQL命令。 --init-rpl-role=name 复制角色名称。 --init-slave=name 当从服务器连接到此主服务器时要执行的命令。 --innodb 启用InnoDB插件引擎。通过skip-innodb 禁用(将保存在内存中)。 --innodb-adaptive-hash-index 启用适应于InnoDB的哈希索引(默认启用)。通过skip-innodb-adaptive-hash-index禁用。 --innodb-additional-mem-pool-size=# InnoDB用于存储数据字典信息及其它内部数据结构的内存池尺寸。 --innodb-autoextend-increment=# 数据文件自动增长兆字节数。 --innodb-autoinc-lock-mode=# 被InnoDB支持的AUTOINC锁定模式:0 => 旧的模式;1 => 新的模式;2 => 无锁定(对于SBR是不安全的); --innodb-buffer-pool-size=# InnoDB用于缓存它自已的表格数据与索引的内存缓冲区尺寸(内存的50-80%)。 --innodb-checksums 启用InnoDB校验和确认(默认启用)。通过skip-innodb-checksums禁用。 --innodb-commit-concurrency=# 在很重的并发环境下帮助调整性能。 --innodb-concurrency-tickets=# Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket. --innodb-data-file-path=name 数据文件路径及它们的尺寸。 --innodb-data-home-dir=name InnoDB表空间根目录。 --innodb-doublewrite 启用InnoDB双写缓冲区(默认启用)。通过skip-innodb-doublewrite禁用。 --innodb-fast-shutdown[=#] 加速InnoDB存储引擎的关闭进度。取值为0,1(快速的),2(崩溃似的快速)。 --innodb-file-io-threads=# InnoDB的文件I/O线程数。 --innodb-file-per-table把每一个InnoDB表格存储到数据库目录下扩展名为.ibd的文件中。 --innodb-flush-log-at-trx-commit[=#] 0(每秒钟写并刷新一次),1(每一次提交时写并刷新),2(每一次提交时写,每秒钟刷新一次) 。 --innodb-flush-method=name 刷新数据的方法。 --innodb-force-recovery=# 在数据库磁盘毁坏的情况下帮助保存你的数据。 --innodb-lock-wait-timeout=# InnoDB事务在回滚事务前等待表锁定的秒数 --innodb-locks-unsafe-for-binlog 强制InnoDB不使用间隙锁,仅能使用行级锁。 --innodb-log-buffer-size=# InnoDB用于写磁盘日志的缓冲区尺寸。 --innodb-log-file-size=# 日志组中每一个日志文件的大小(常为缓冲池innodb-buffer-pool-size大小的25%)。 --innodb-log-files-in-group=# 日志组中日志文件数。InnoDB循环的写这个组中的所有文件。在此推荐值为:3。 --innodb-log-group-home-dir=name InnoDB日志组文件根目录。 --innodb-max-dirty-pages-pct=# 在缓冲区池中允许的脏数据页百分数。 --innodb-max-purge-lag=# 期望的清除队列最大长度(0 = 无限制) 。 --innodb-mirrored-log-groups=# 日志组镜像数。 --innodb-open-files=# InnoDB在同一时间内保持打开状态的最大文件数。 --innodb-rollback-on-timeout 在锁等待超时后回滚完整的事务(默认禁用) 。 --innodb-stats-on-metadata 为像SHOW TABLE STATUS这样的metadata命令启用统计聚合(默认启用) 。 --innodb-status-file 启用SHOW INNODB STATUS输出到innodb_status.<pid> file文件中。 --innodb-support-xa 启用InnoDB两步提交。 --innodb-sync-spin-loops=# 环绕InnoDB互斥体的循环旋转次数。 --innodb-table-locks 启用InnoDB在用LOCK TABLES命令时锁定表格(取值为0:当用LOCK TABLES锁定InnoDB表格时,其实的锁是MySQL服务器加的,InnoDB插件引擎并不会加锁;取值为1并且autocommit=0时不但MySQL会加锁,而且InnoDB插件引擎也会加特殊的内部表锁)。 --innodb-thread-concurrency=# 在很重的并发环境下帮助调整性能。设置在InnoDB内部允许的最大线程数。0禁用线程节力。 --innodb-thread-sleep-delay=# 连接InnoDB队列之前InnoDB线程的睡眠时间。0禁用睡眠。 --interactive_timeout=# 服务器在关闭交互式连接之前等待它活动的秒数。 --join_buffer_size=# 用于完全联接(当不使用索引的时候使用的联接操作)的缓冲区尺寸。一般情况获得快速联接的最好方法是添加索引。当增加索引时不可能通过增加join_buffer_size值来获得快速完全联接。将为两个表之间的每个完全联接分配联接缓冲区。对于多个表之间不使用索引的复杂联接,需要多联接缓冲区。 --keep_files_on_create 既使没有指定目录也不重写陈旧的.MYD与.MYI文件。 --key_buffer_size=# 用于MyISAM表索引块的缓冲区尺寸。增加这个值到你可以设置的最大值能有助于提升索引处理性能。在一个256M的主要运行MySQL的机子上设置64M是十分平常的事。 //************************************************************************************************ MySQL的索引缓存管理系统默认采用LRU策略来选择要被清除的缓存区块,不过它也支持更完善的方法,叫做“中点插入策略”。 使用中点插入策略时,LRU链就被分割成两半:一个热子链,一个温子链。两半分割的点不是固定的,不过缓存管理系统会注意不让温子链部分太短,总是至少包括全部缓存区块的 key_cache_division_limit 比率。key_cache_division_limit 是缓存结构体变量的组成部分,因此每个缓存都可以设置这个参数值。 当一个索引区块从表中读入缓存时,它首先放在温子链的末尾。当达到一定的点击率(访问这个区块)后,它就提升到热子链中去。提升起来的区块首先放在热子链的末尾。这个区块在热子链内一直循环。如果这个区块在该子链开头位置停留时间足够长了,它就会被降级回温子链。这个时间是由索引缓存结构体变量的组成部分key_cache_age_threshold 值来决定的。这个阀值是这么描述的,一个索引缓存包含了 N 个区块,热子链开头的区块在低于 N*key_cache_age_threshold/100 次访问后就被移动到温子链的开头位置。它又首先成为被删除的候选对象,因为要被替换的区块还是从温子链的开头位置开始的。 中点插入策略就能在缓存中总能保持更有价值的区块。如果更喜欢采用LRU策略,只需让 key_cache_division_limit 的值等于默认值 100。如想使用中点插入策略就必须设定 key_cache_division_limit 远远低于100,则在扫描索引操作时那些有价值的频繁点击的节点就会保留在热子链中了。 //************************************************************************************************ --key_cache_age_threshold=# 当一个热块在一段时间击中次数小于这一值时,将会降级为温块。 --key_cache_block_size=# 索引缓存块默认尺寸(以字节为单位)。用它可以来调整索引文件I/O操作的性能。当索引缓存块大小和本地操作系统的I/O缓冲块大小一样时,就达到了I/O操作的最高性能了。 --key_cache_division_limit=# 索引缓存中温块最小百分率。 --language=name 客户端错误消息语言。可以给出一个全路径。 --large-pages 启用支持大页。通过skip-large-pages禁用。 --lc-time-names=name 用于月份与一周中第几天的语言。 --local-infile 启用或禁用LOAD DATA LOCAL INFILE (取值 1|0)。 --log[=name] 连接与查询日志。 --log-bin[=name] 以二进制格式记录更新查询。可选的参数应该是二进制日志文件的位置。 --log-bin-index=name 拥有最后的二进制日志文件名称的文件。 --log-bin-trust-function-creators 在log-bin被使用的情况下,如果这个选项值为0(默认),则仅在用户有SUPER权限并且存储过程(或触发器)不可能损坏二进制制日志的时候允许建立存储过程(或者触发器);注意如果所有到服务器的连接一直使用基于行的二进制日志,不存在安全问题且二进制日志不会损坏,你就可以安全地设为1。 --log-bin-trust-routine-creators (反对的)用log-bin-trust-function-creators代替。 --log-error[=name] 错误日志。 --log-isam[=name] 记录所有MyISAM表改变的日志文件。 --log-long-format 记录一些附加的信息到更新日志。请注意这个选项被反对使用。看--log-short-format选项。 --log-output[=name] 语法:log-output=[=value[,value...]],“value”可为TABLE,FILE或者NONE。 --log-queries-not-using-indexes 记录执行时没有使用索引的查询到慢查询日志。 --log-short-format 不记录附加信息到更新与慢查询日志。 --log-slave-updates 告诉从服务器记录来自于从线程的更新到二进制日志。如果你计划菊化链化从服务器就需要打开它。用于启动slave,这样就能让slave在运行 STOP SLAVE、RESET MASTER语句后随时准备变成master。 --log-slow-admin-statements 记录慢的OPTIMIZE,ANALYZE,ALTER与其它管理语句到慢日志中。 --log-slow-queries[=name] 记录慢查询到表格或日志文件。默认记录到表格mysql.slow_log或者主机名-slow.log文件中(如果log-output=file被使用)。 --log-slow-slave-statements 记录从线程执行的慢语句到慢日志中。 --log-tc=name 到事务协调程序日志的路径(用于影响多个存储引擎事务,当二进制日志被禁用)。 --log-tc-size=# 事务协调程序日志尺寸。 --log-update[=name] 自从版本5.0起反对使用的更新日志,现被二进制日志代替。用log-bin选项开启。 --log-warnings[=#] 记录一些不严重的警告到日志文件。 --long_query_time=# 记录所有执行时间超过此秒数的查询到日志文件。这个值被视为带有微秒精度的十进制值。 --low-priority-updates 使INSERT/DELETE/UPDATE 低于SELECT优先级。 --lower_case_table_names[=#] 如果设为1,表格名称被存储成小写并且表名称将是大小写敏感的。如果你正在使用大小写敏感的文件系统应该设为2。 --master-connect-retry=# 从线程在重试连接主服务器前睡眠的秒数。 --master-host=name 用于复制的主服务器主机名称或者IP地址。如果没有设置,从线程将不能启动。注意:如果存在一个有效的master.info文件,这个值将被忽略。 --master-info-file=name 记录主服务器信息的文件的位置及名称。 --master-password=name 当从服务器连接到主服务器时使用的密码。如果没有设置则假定为空密码。在master.info中的设置将优先于这里设置的值。 --master-port=# 主服务器监听端口。如果没有设置,则假定为编译时MYSQL_PORT的值,默认值为3306。 在master.info中的设置将优先于这里设置的值。 --master-retry-count=# 从线程在放弃连接主服务器之前重试次数。 --master-ssl 启用从线程使用SSL连接主服务器。 --master-ssl-ca[=name] 主服务器SSL CA文件。仅在启用了master-ssl时应用。 --master-ssl-capath[=name] 同上。 --master-ssl-cert[=name] 主服务器SSL证书文件名称。仅在启用了master-ssl时应用。 --master-ssl-cipher[=name] 主服务器SSL暗号。仅在启用了master-ssl时应用。 --master-ssl-key[=name] 主服务器SSL Key文件名称。仅在启用了master-ssl时应用。 --master-user=name 从服务器连接到主服务器时使用的用户名称。这个用户必须有FILE特权。如果没有设置,假定为用户test。仅在启用了master-ssl时应用。 --max-binlog-dump-events=# 被mysql-test用于复制的调试与测试的选项。 --max_allowed_packet=# 服务器发送/接收的最大包长度。包缓冲区初始化为net_buffer_length字节,但需要时可以增长到max_allowed_packet字节。该值默认很小,以捕获大的(可能是错误的)数据包。如果你使用大的BLOB 列或长字符串,你必须增加该值。应同你想要使用的最大的BLOB一样大。max_allowed_packet的协议限制为1GB。 --max_binlog_cache_size=# 指定binary log缓存的最大容量,如果设置的过小,则在执行复杂查询语句时MySQL会出错。 --max_binlog_size=# 当二进制日志尺寸增长到这个值时将被自动的循环。如果max_relay_log_size是0,也将应用于中转日志。这个变量的最小值是4096。 --max_connections=# 允许的客户端最大并发连接数。 --max_connect_errors=# 如果一个主机的中断的连接数超出了这个值,这个主机的再次连接将被阻塞。如需对该主机进行解禁,执行:FLUSH HOST。 --max_delayed_threads=# 不要启动超过这个值的线程数去处理INSERT DELAYED语句。如果设为0,意味着INSERT DELAYED 不能被使用。 --max_error_count=# 对于一条语句存储的最大错误/警告数。 --max_heap_table_size=# 不允许建立大于这个值的内存表。 --max_join_size=# 读取多于这个值的记录数将返回错误。 --max_length_for_sort_data=# 排序记录的最大字节数。 --max_prepared_stmt_count=# 服务器上最大的预处理的语句个数。 --max_relay_log_size=# 如果不为0,当中转日志尺寸增长到这个值时将自动的循环。如果为0(默认值),尺寸会增长到max_binlog_size。最小值为4096。 --max_seeks_for_key=# 基于一个键值查询行的时候,假定寻找的最大数字限制。 --max_sort_length=# 当对BLOB或者TEXT字段排序时使用的最大字节数(仅每一个字段头部的max_sort_length被使用,其余的被忽略)。 --max_sp_recursion_depth[=#] 存储过程的最大递归深度。 --max_tmp_tables=# 一个客户在同一时间能保持打开状态的最大临时表个数。 --max_user_connections=# 一个用户的最大活动连接数(0 = 无限制)。 --max_write_lock_count=# 当出现max_write_lock_count个写入锁定数量后,开始允许一些被锁定的读操作开始执行。避免写入锁定过多,读取操作处于长时间等待状态。 --memlock 锁定mysqld在内存中。 --min_examined_row_limit=# 不要记录检查小于min_examined_row_limit行数的查询到日志文件。 --multi_range_count=# 一次请求的键范围个数。 --myisam-recover[=name] 语法:myisam-recover[=选项[,选项...]],这里的选项可以是DEFAULT,BACKUP,FORCE或者QUICK。 --myisam_block_size=# 被用于MyISAM索引页的块尺寸。 --myisam_data_pointer_size=# 用于MyISAM表的默认指针尺寸。 --myisam_max_extra_sort_file_size=# 反对的选项。 --myisam_max_sort_file_size=# 如果临时文件能够获得比这个值大的尺寸,不要使用快速索引法创建索引。 --myisam_repair_threads=# 当修复MyISAM表时使用的线程数。1,禁用并行修复。 --myisam_sort_buffer_size=# 当执行REPAIR,或者用CREATE INDEX建立索引或ALTER TABLE时,索引排序分配的缓冲区尺寸。 --myisam_stats_method=name MyISAM索引统计搜集代码如何处理NULL值。可能的值,nulls_equal、nulls_unequal、nulls_ignored。nulls_equal表示所有的null值是相同的,nulls_unequal表示把每个null值都当成一个不同的值,nulls_ignored表示忽略NULL值。 --myisam_use_mmap 为MyISAM表的读写使用内存映射。 --ndb-use-copying-alter-table 强制ndbcluster总是在修改表格时拷贝表格(应该仅用于在线修改表格失败时)。 --net_buffer_length=# TCP/IP套接字通信缓冲区长度。 --net_read_timeout=# 中止读数据之前从一个连接等待更多数据的秒数。 --net_retry_count=# 如果从一个通信端口读数据时被中断,放弃之前重试的次数。 --net_write_timeout=# 中止写之前等待一个块被写入连接的秒数。 --new 使用非常新的但可能不安全的函数。 --old 使用兼容行为。 --old-alter-table 使用老的,没有优化的修改表格。 --old-passwords 使用老的加密方法(需要4.0或更老的客户端)。 --old-style-user-limits 启用旧式用户限制。 --one-thread (反对):仅使用一个线程(用于Linux下调试)。用thread-handling=no-threads 代替。 --open_files_limit=# 如果为0,mysqld将预留max_connections*5或者max_connections+table_cache*2(无论哪个都是大的)个文件。 //************************************************************************************************ 查询优化程序的任务就是找到最佳的执行SQL查询的方法。因为"好"和"坏"方法之间的性能差异可能有数量级上的区别,MySQL中的大部分查询优化程序或多或少会穷举搜索可能的优化方法,从中找到最佳的方法来执行。拿连接查询来说,MySQL优化程序搜索的可能方法会随着查询中引用表数量的增加而指数增加。如果表数量较少(通常少于7-10个),那么这基本上不是问题。不过,当提交一个很大的查询时,服务器的性能主要瓶颈很容易就花费在优化查询上。    MySQL 5.0.1引进了一个更灵活的方法,它允许用户控制查询优化程序穷举搜索最佳优化方法的数量。一般的考虑是,优化程序搜索的方法越少,那么在编译查询时耗费的时间就越少。另一个方面,由于优化程序可能会忽略一些方法,因此可能错过找到最佳优化方法。    关于控制优化程序评估优化方法的数
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服