當前位置:首頁 » 操作系統 » 查詢資料庫為空的數據

查詢資料庫為空的數據

發布時間: 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窗口中可使用迂迴的方式進行查詢設定默認值。可先查詢是否含有此條記錄存在,如果不存在就給查詢的欄位設定默認值,如果存在就使用子查詢去取該欄位真正的值。

熱點內容
ct4哪個配置性價比最高 發布:2025-05-19 15:38:02 瀏覽:952
如何設置強緩存的失效時間 發布:2025-05-19 15:21:28 瀏覽:695
winxp無法訪問 發布:2025-05-19 15:19:48 瀏覽:947
文件預編譯 發布:2025-05-19 15:14:04 瀏覽:643
怎麼在伺服器上掛公網 發布:2025-05-19 15:14:02 瀏覽:272
濟南平安e通如何找回密碼 發布:2025-05-19 14:56:58 瀏覽:176
安卓手機如何找到iccid碼 發布:2025-05-19 14:46:51 瀏覽:227
編譯的內核為什麼那麼大 發布:2025-05-19 14:45:21 瀏覽:179
什麼控制壓縮 發布:2025-05-19 14:28:13 瀏覽:931
網路伺服器忙指什麼 發布:2025-05-19 14:28:10 瀏覽:189