smartweb 发表于 2012-5-26 09:12:28

CI真的是虚有其名吗?

数据库里有一个表,150万条记录,1G。我已经使用了分表,分到20个表中,每表也就那么7到8万条记录,我就算即使不分表也时不时有问题。只使用两个like执行分页,有时可以但有时就是不执行,悲剧的是经常令到整个Mysql都死掉,要重启服务器。我在想,CI是不是只能用来练一练手,吓一下新手呢?

A Database Error OccurredUnable to select the specified database: corplibFilename: D:\xampp\htdocs\www\6088\system\database\DB_driver.phpLine Number: 140

Hex 发表于 2012-5-26 10:37:29

我觉得这个和 CI 没什么关系吧,CI 也是用的 PHP 的 mysql 函数。
CI 并不提供 sql 优化的功能,不知道现在有哪个框架提供 sql 优化?呵呵

zhjphp 发表于 2012-5-26 10:42:21

不限制条数把LIKE全部搜索出来吗?有必要吗?
再说MYSQL死住与CI有啥关系呢。。。

yunnysunny 发表于 2012-5-26 18:52:49

你可以用纯php测试一下啊。然后再做结论。

ciogao 发表于 2012-5-27 15:24:25

断点一下各步执行吧,肯定是数据库的响应延迟。优化你的查询语句吧,同时缓存一下查询结果。仍不见效的话,考虑重组数据结构吧。

smartweb 发表于 2012-5-28 12:56:58

我的数据库结构注定是必须用like的。
150万条记录已经分到20个分表了,数据有1G多了,真的不好搞了,我已经彻底不搞了,没信心搞下去了,本机有4G内存搞,我的VPS只有512M。。。。。。。。。

乌有 发表于 2012-5-28 18:41:52

配合一下其它的全文搜索引擎来使用吧.直接使用like,用不上索引.数据多的时候固然慢了.

Hex 发表于 2012-5-28 18:43:50

smartweb 发表于 2012-5-28 12:56 static/image/common/back.gif
我的数据库结构注定是必须用like的。
150万条记录已经分到20个分表了,数据有1G多了,真的不好搞了,我已经 ...

查询不要用 like,可以用开源搜索引擎,搭建很简单的。

suxiaolu 发表于 2012-5-28 21:32:33

本帖最后由 suxiaolu 于 2012-5-29 14:18 编辑

你应该在mysql里直接用sql语句试试,看看慢不慢,我认为应该不是 ci 的问题

smartweb 发表于 2012-5-29 12:26:45

乌有 发表于 2012-5-28 18:41 static/image/common/back.gif
配合一下其它的全文搜索引擎来使用吧.直接使用like,用不上索引.数据多的时候固然慢了. ...

我一开始就是用过fulltext,速度很快,但查都不准的。其实我库里面的资料也不太准。
我后来才用了分表拆成20个表。
页: [1] 2 3
查看完整版本: CI真的是虚有其名吗?