天津自力教育 加入收藏  -  设为首页
您的位置:天津自力教育 > 文章大全 > 正文
为什么mysql数据库对应的字段有数据但是使用mybatis取出是0 或null
为什么mysql数据库对应的字段有数据但是使用mybatis取出是0 或null
提示:

为什么mysql数据库对应的字段有数据但是使用mybatis取出是0 或null

为什么mysql数据库对应的字段有数据但是使用mybatis取出是0 或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%' 查看

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

mysql怎么批量删除 mybatis怎么写
提示:

mysql怎么批量删除 mybatis怎么写

Java mysql mybatis批量更新数据库,采用以下写法即可执行,但是数据库连接必须配置:&allowMultiQueries=true


1
2
3
4
5
6
7
8
9
10
11
12

例如:jdbc:mysql://192.168.1.236:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true



update test

test=${item.test}+1

where id = ${item.id}





MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.