首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL进程使用超过100%的CPU使用率,需要大约1 GB的内存

MySQL进程使用超过100%的CPU使用率,需要大约1 GB的内存
EN

Stack Overflow用户
提问于 2009-11-07 19:29:07
回答 1查看 1.8K关注 0票数 1

我在具有以下规格的服务器上运行MySQL服务器-

双至强四核2.0、2048 MB RAM、1x 160 GB SATA Fedora Core + SSH

但是,插入10000条记录的MySQL过程占用了超过100%的中央处理器和高达1 GB的内存。这是一个简单的insert语句。

为什么MySQL占用这么多内存,我们能做些什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-07 22:48:01

查询中最繁重的部分是SELECT:

代码语言:javascript
复制
Select FirstName, LastName, CountryID, Address, Phone
From Test2.Customer
Where UserID Between 1 and 5000
and CustomerID in (Select CustId from Cust_Details Where CustName like 'Mi%')

嵌套查询可能会对每一行重复。您可以运行EXPLAIN PLAN +所有的SELECT查询来检查这一点。我猜“like”运算符是针对非索引列使用的。在这种情况下(like 'xyz%'),一个简单的索引可以大大提高性能。

新增:此外,选择CustId ...必须输出大于5000的id,这是根本不需要的。Cust_Details上的综合索引(CustId、CustName)也必须有用。

尝试取消对联接的签名:

代码语言:javascript
复制
Select FirstName, LastName, CountryID, Address, Phone
From Test2.Customer c, Cust_Details cd
Where c.UserID Between 1 and 5000
and c.CustomerID=cd.CustId
and left(cd.CustName) = 'Mi'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1692756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档