mysqL update 太慢,求解决方法

mysqL update 太慢,求解决方法,第1张

更改mysql配置如下:

#

Uncomment

the

following

if

you

are

using

InnoDB

tables

#innodb_data_home_dir

=

/var/lib/mysql/

innodb_data_file_path

=

ibdata1:50M:autoextend

#innodb_log_group_home_dir

=

/var/lib/mysql/

#innodb_log_arch_dir

=

/var/lib/mysql/

#

You

can

set

.._buffer_pool_size

up

to

50

-

80

%

#

of

RAM

but

beware

of

setting

memory

usage

too

high

innodb_buffer_pool_size

=

256M

innodb_additional_mem_pool_size

=

10M

#

Set

.._log_file_size

to

25

%

of

buffer

pool

size

#innodb_log_file_size

=

128M

innodb_log_buffer_size

=

8M

#innodb_flush_log_at_trx_commit

=

1

#innodb_lock_wait_timeout

=

50

innodb_support_xa=off

用mysql-connector-odbc-5[1].1.5-win32.msi这个驱动程序

哥们,你建主键了没?

排除了以上问题,还慢,就看看你的连接了,如果是自己写的,那么建议你找个别人写好的连接类试试。有时候代码没问题,db没问题,那么只有时连接的问题了!!

希望对你有用。

update set命令用来修改表中的数据。update set命令格式:update 表名 set 字段=新值,… where 条件。

举例如下:mysql>update MyClass set name='Mary' where id=1单表的MySQL UPDATE语句:UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [col_name2=expr2] [WHERE where_definition] [ORDER BY] [LIMIT row_count]。

多表的UPDATE语句:UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2] [WHERE where_definition]。

UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。如果指定了ORDER BY子句,则按照被指定的顺序对行进行更新。LIMIT子句用于给定一个限值,限制可以被更新的行的数目。

我不知道楼主为什么会有这样的问题,在数据库当中每一条数据不应该都是独立的一条吗,有它自己的特征才对。所以当你WHERE sort_code='SAMQLF'的时候很明显的意思就是更新所有匹配的数据。你如果只是更新一条,那么更新的是哪一条?是不是应该有它的特征才对,所以你应该把这个特征加上。

如果你就是那么任性的要随机更新匹配的一条,我的方案就是随机查出sort_code='SAMQLF'的一条记录的ID,用ID来更新这条记录。


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

原文地址: http://outofmemory.cn/zaji/5902322.html

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

发表评论

登录后才能评论

评论列表(0条)

保存