下面是我的代码,我无法解决此错误.任何帮助表示赞赏.我正在尝试更新数据库中的表.
public function updateUnit($params){
$user = 'monil';
$password = 'Masters123';
$dbh = new \PDO('mysql:host=127.0.0.1;dbname=tcsdb', $user, $password);
$task=array(':UnitCode'=>$params['UnitCode'],':UnitDescription'=>$params['UnitDescription'] ,
':UnitName'=>$params['UnitName'], ':UnitID'=>$params['UnitID']);
echo $params['UnitID'];
$sth = $dbh->prepare('UPDATE unit SET UnitCode = :UnitCode,'
. 'UnitDescription = :UnitDescription,UnitName = :UnitName WHERE UnitId=:UnitId');
$sth->execute($task);
return true;
}
Run Code Online (Sandbox Code Playgroud) 我知道之前曾问过这个问题,但似乎没有任何帮助.
我在2 - 3天前遇到过这个问题,询问服务器支持,他们告诉我,我必须将mysql从/ var移动到/ home所有的磁盘空间,这就是我所做的.然后我运行我的插入,一切都很顺利,直到今天我完成数据的插入,我想在我的表中添加索引,当我在2分钟后运行ALTER查询时,我得到了这个错误.
我在my.cnf中放了innodb_file_per_table = 1并重新启动了mysql,但没有用.
目前我们正在另一台服务器上运行,其中所有数据都很好,并且mysql运行良好,数据库表大约250GB,我检查了该服务器上比较2台服务器的设置,似乎没有什么不同我.
编辑: 显示表状态像'whois_main'
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
whois_main InnoDB 10 Compact 140859771 694 97812217856 0 6618562560 6291456 191781518 2014-02-13 16:45:16 NULL NULL utf8_general_ci NULL
Run Code Online (Sandbox Code Playgroud)
在工作服务器上:
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
whois_main InnoDB 10 Compact 140472243 694 97812217856 0 6618562560 6291456 191781518 2013-11-19 15:39:38 NULL …Run Code Online (Sandbox Code Playgroud) 我有一个大约168,200,000个文档的mongo db集合.我试图用$ group获取某个字段的平均值,并且我在管道中的$ group之前使用$ match来使用client.city上的索引.但查询运行大约需要5分钟,这非常慢.
以下是我尝试过的事情:
db.ar12.aggregate(
{$match:{'client.city':'New York'}},
{'$group':{'_id':'client.city', 'avg':{'$avg':'$length'}}}
)
db.ar12.aggregate(
{$match:{'client.city':'New York'}},
{'$group':{'_id':null, 'avg':{'$avg':'$length'}}}
)
db.ar12.aggregate(
{$match:{'client.city':'New York'}},
{$project: {'length':1}},
{'$group':{'_id':null, 'avg':{'$avg':'$length'}}}
)
Run Code Online (Sandbox Code Playgroud)
所有3个查询大约需要同一时间,client.city =到纽约的文档数量为1,231,672,find({'client.city':'New York').count()需要一秒钟才能运行
> db.version()
3.2.0
Run Code Online (Sandbox Code Playgroud)
编辑
这是解释结果......对于添加长度的复合索引的注释,这会有所帮助,虽然我不是按长度搜索我想要所有长度...
{
"waitedMS" : NumberLong(0),
"stages" : [
{
"$cursor" : {
"query" : {
"client.city" : "New York"
},
"fields" : {
"length" : 1,
"_id" : 1
},
"queryPlanner" : {
"plannerVersion" : 1,
"namespace" : "clients.ar12",
"indexFilterSet" : false,
"parsedQuery" : { …Run Code Online (Sandbox Code Playgroud)