在EXCAL中,如何根据条件单元格中的条件在大量的数据表中查找符合条件的所有记录。。。

日期:2022-12-05 20:12:58 人气:1

在EXCAL中,如何根据条件单元格中的条件在大量的数据表中查找符合条件的所有记录。。。

    A+

我的Myqls数据库中有2个数据表,每个数据表都有超过3千万条记录,查询效率很低,有没有什麽好的办法优化?

首先换数据库,MySQL处理这个数量级数据比较吃力。推荐你用DB2 或ORACLE 如果不能换,检查一下存储引擎用InnoDB,如果是,检查 innodb_flush_log_at_trx_commit 这个选项,是否是1 如果是1 用SET AUTOCOMMIT = 0 ,提高数据修改速度 PHP优化需要 MySQL Slow Log 分析工具分析日志:mysqldumpslow或mysqlsla比较不错。 Explain/ DESC 分析SQL 的执行情况和SHOW PROCESSLIST 使用SHOW PROCESSLIST 看是否有锁表情况, 设置 my.cnf 中的long-query-time 和log-slow-queries 记录服务器那些SQL执行速度比较慢 根据上述情况查看对对应的SQL语句进行优化 优化服务器性能,用RAID5(SAN),加内存本身的升级,提高硬盘I/O性能。 数据库总体性能优化: 数据表最好能拆成小表。 数据库切片,分到不用的服务器上, 数据库访问性能优化 修改my.cnf, 下面是影响比较大的: innodb_flush_log_at_trx_commit 设置为0 如果比下面值大就不用调整了: query_cache_size 设置为16M sort_buffer_size 设置为16M record_buffer 设置为16M key_buffer_size 设置为8M innodb_buffer_pool_size 设置为32M 下面是建议设置的 table_cache 设置为512 read_buffer_size 设置为16M myisam_sort_buffer_size设置为16M innodb_additional_mem_pool_size 设置为128M innodb_log_file_size 设置为256M innodb_log_buffer_size设置为8M 数据库表优化, 1 建立相应的INDEX 2 统一编码,MySQL的默认编码是Latin1,不支持中文,需要把数据库的默认编码修改为gbk或者utf8 show variables like 'character%' 查看 另外表的编码也要与数据库统一

阅读全文