|  | 
| 帖子中由于插入字段过长,删减一部分SQL语句,使其它读者方便阅读 
 ------
 插入语句如下
 
  insert.sql
(15.25 MB, 下载次数: 2) 建表语句如下
 
  createtable.sql
(1.08 KB, 下载次数: 1) 
 GreatSQL 相关信息
 
 使用 GreatSQL 为 8.0.32-25 版本复制代码greatsql> show variables like '%version%';
+--------------------------------------------------+--------------------------------------------+
| Variable_name                                    | Value                                      |
+--------------------------------------------------+--------------------------------------------+
| admin_tls_version                                | TLSv1.2,TLSv1.3                            |
| gdb_sqld_version                                 | 8.0.32.5                                   |
| group_replication_allow_local_lower_version_join | OFF                                        |
| group_replication_recovery_tls_version           | TLSv1.2,TLSv1.3                            |
| immediate_server_version                         | 999999                                     |
| innodb_version                                   | 8.0.32-8.0.32                              |
| original_server_version                          | 999999                                     |
| protocol_version                                 | 10                                         |
| replica_type_conversions                         |                                            |
| slave_type_conversions                           |                                            |
| tls_version                                      | TLSv1.2,TLSv1.3                            |
| version                                          | 8.0.32-25                                  |
| version_comment                                  | GreatSQL, Release 25, Revision 79f57097e3f |
| version_compile_machine                          | x86_64                                     |
| version_compile_os                               | Linux                                      |
| version_compile_zlib                             | 1.2.13                                     |
| version_suffix                                   |                                            |
+--------------------------------------------------+--------------------------------------------+
17 rows in set (0.00 sec)
 配置文件(my.cnf)如下,参考安装手册中提供的 my.cnf 此处没做修改
 - Ubuntu系统中安装GreatSQL | GreatSQL用户手册
 或推荐的 my.cnf 模板
 - my.cnf参考模板 | GreatSQL用户手册
 注意不要用全默认值,可能会导致 GreatSQL 性能较差,例如ibp只有128M等!若拿定不了参数值设置,可使用叶老师的小工具
 - 老叶出品,方便可靠的MySQL my.cnf配置文件生成工具 (imysql.com)
 
 单独运行
 第一次
 
 第二次复制代码greatsql> source /usr/local/insert.sql;
Query OK, 61 rows affected, 10 warnings (0.23 sec)
Records: 61  Duplicates: 0  Warnings: 10
 第三次复制代码greatsql> source /usr/local/insert.sql;
Query OK, 61 rows affected, 10 warnings (0.21 sec)
Records: 61  Duplicates: 0  Warnings: 10
 脚本运行5次复制代码greatsql> source /usr/local/insert.sql;
Query OK, 61 rows affected, 10 warnings (0.19 sec)
Records: 61  Duplicates: 0  Warnings: 10
 结果如下复制代码#!/bin/bash
for i in {1..5}
do
    echo "Execution $i:"
    # 使用 `time` 命令来记录执行时间
    { time ./GreatSQL-8.0.32-25-Linux-glibc2.28-x86_64/bin/mysql -S /data/greatsql/mysql.sock -uroot -Dtest < /usr/local/insert.sql; } 2>&1
    echo "---------------------------------------"
done
 结论如下复制代码root@hyzhang:/usr/local# ./execute.sh
Execution 1:
real    0m0.303s
user    0m0.102s
sys     0m0.017s
---------------------------------------
Execution 2:
real    0m0.293s
user    0m0.100s
sys     0m0.013s
---------------------------------------
Execution 3:
real    0m0.315s
user    0m0.095s
sys     0m0.017s
---------------------------------------
Execution 4:
real    0m0.317s
user    0m0.125s
sys     0m0.009s
---------------------------------------
Execution 5:
real    0m0.291s
user    0m0.097s
sys     0m0.012s
---------------------------------------
同样的 Insert 语句在 GreatSQL 数据库中并不会出现性能迟缓的情况。初步推断,此问题的成因在于 my.cnf 的配置有误。诸如 innodb_buffer_pool_size、innodb_log_buffer_size、tmp_table_size、max_heap_table_size、innodb_write_io_threads 以及 innodb_read_io_threads 等参数,倘若采用默认值,或许会对性能产生不利影响。
 
 
 | 
 |