为什么数据库中显示的是null

为什么数据库中显示的是null,第1张

NULL

值表示是未知的值。NULL

值与空的值或零值不同。两个

Null

值永远不会相等。因为每个

NULL

的值都是未知的,两个

Null

值之间、或是一个

NULL

与其他任何值之间的比较都会传回未知的。

Null

值通常会指出未知的资料、不适用的资料或之后将要加入的资料。例如,客户的称谓在下订单时可能是未知的。

下列是

Null

的相关资讯:

若要在查询中测试

Null

值,请在

WHERE

子句中使用

IS

NULL

IS

NOT

NULL。

SQL

Server

Management

Studio

程式码编辑器中检视查询结果时,Null

值会在结果集中显示为

(null)。

可藉由在

INSERT

UPDATE

陈述式中明确陈述

NULL、在

INSERT

陈述式中空出资料行,或是在使用

ALTER

TABLE

陈述式将新的资料行加入至现有的资料表时,将

Null

值插入资料行。

Null

值不得用於分辨资料表的某个资料列,以及资料表的另一个资料列时所需的资讯

(例如,外部索引键或主索引键)。

参照联机帮助

首先换数据库,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%'

查看

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6802830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存