当前位置:首页 » 操作系统 » 查询数据库为空的数据

查询数据库为空的数据

发布时间: 2023-09-09 08:09:27

1. 数据库中的表总是会出现查询的数据都为null或者为空,但是数据表中确实有数据存在

首先换数据库,Mysql处理这个数量级数据比较吃力。推荐你用DB2 或ORACLE

如果不能换,检查一下存储引擎用InnoDB,如果是,检查
innodb_flush_log_at_trx_commit 这个选项,是否是1
如果是1 用SET AUTOCOMMIT = 0 ,提高数据修改速度

PHP优化需要
MySQL Slow Log 分析工具分析日志:mysqlmpslow或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%' 查看

另外表的编码也要与数据库统一

2. 怎么查询数据库中某一个字段为空的数据

1、打开您操作数据库的可视化工具(我现在用的是DbVisualizer)。

2、在sql窗口中编写查询语句,我之前遇到这个问题的时候,找了好久都是说使用value,nvl,decode等等函数去操作,这样用法确实可以,但是不适用于我遇到的这个情况,那些方法只适用于存在此条记录,但是某一字段可能为null的情况。

3、在sql窗口中可使用迂回的方式进行查询设定默认值。可先查询是否含有此条记录存在,如果不存在就给查询的字段设定默认值,如果存在就使用子查询去取该字段真正的值。

热点内容
oracle二进制存储 发布:2025-01-29 13:44:47 浏览:575
浙江常规存储设备特价 发布:2025-01-29 13:44:43 浏览:675
恩格尔算法 发布:2025-01-29 13:44:41 浏览:713
怎么查看我的车是什么配置 发布:2025-01-29 13:38:20 浏览:78
间片轮转算法 发布:2025-01-29 13:38:19 浏览:438
PID算法包 发布:2025-01-29 13:36:52 浏览:197
安卓加速器app哪个好 发布:2025-01-29 13:36:49 浏览:155
如何有专有的服务器 发布:2025-01-29 13:36:14 浏览:921
android前台activity 发布:2025-01-29 13:31:24 浏览:870
安卓怎么配置mitm 发布:2025-01-29 13:10:55 浏览:821