草庐IT

update-index

全部标签

mysql - UPDATE vs COUNT vs SELECT 性能

这个说法是对还是错这些查询的性能SELECT*FROMtable;UPDATEtableSETfield=1;SELECTCOUNT(*)FROMtable;相同或者曾经有过一个人的表现与另一个人的表现有很大不同的情况吗?更新如果SELECT和UPDATE之间存在很大差异,我会更感兴趣。如果你愿意,你可以忽略COUNT(*)假设select执行全表扫描。更新还将对表中的所有行执行更新。假设更新只更新一个字段-虽然它会更新所有行(它是一个索引字段)我知道他们会花不同的时间,做不同的事情。我想知道的是差异是否显着。例如。如果更新花费的时间是选择的5倍,那么它很重要。使用此作为阈值。而且没有

mysql - Drupal 数据库 API 查询 - row.update 如果存在,否则 row.insert

我一直在尝试在drupal中运行查询,如果条目已经存在则更新条目,如果不存在则插入新条目。目前的代码如下所示:db_query("IFEXISTS(SELECT%dFROM{uc_posten_packages.pid})UPDATE{uc_posten_packages}SETtitle='%s',label='%s',cost='%d',length='%d',width='%d',height='%d',weight='%d'WHEREpid=%dELSEINSERTINTO{uc_posten_packages}VALUES('%d','%s','%s','%d','%d','

mysql - 仅使用一次时出现 "only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"错误

我正在使用以下sql创建一个数据库表:CREATETABLE`cs3_ds1`(`ID`INTNOTNULL,`TIME`TIMESTAMPNOTNULL,`USER`VARCHAR(45)NOTNULL,`TIME1`TIMESTAMPNOTNULL,`TIME2`TIMESTAMPNOTNULL,`INSERT_TIME`TIMESTAMPNULLDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(`ID`))ENGINE=InnoDB虽然我只在一列中使用当前时间戳作为默认时间戳,但我收到以下错误:ERROR1293:Incorrecttabledefiniti

mysql - 为什么 SELECT FOR UPDATE 只在事务中起作用?

我想我对SELECTFORUPDATE感到困惑构造。示例:mysql>select*fromemployees2;+-------+----------+--------+-----------+|EmpId|EmpName|DeptId|EmpSalary|+-------+----------+--------+-----------+|1|John|1|5000.00||2|Albert|1|4500.00||3|Crain|2|6000.00||4|Micheal|2|5000.00||5|David|NULL|34.00||6|Kelly|NULL|457.00||7|Rud

mysql - SQL : update statement with dynamic column value assignment

想象一下下面的sql查询:UPDATEMYTABLESETCOL2=(SELECTCOL2+1FROM(SELECTMAX(COL2)FROMMYTABLE)ASX)WHEREIDIN(1,2,3,4,5)假设执行更新前MAX(COL2)为1我的意图是,对于ID=1的更新,COL2更新为“max(COL2)+1”(即2),而对于后续更新,“MAX(COL2)+1”被重新评估,因此对于ID=2、COL2=3和ID=3、COL2=4等...实际发生的是,对于所有行(ID=1,2,3,4,5),COL2的值为2。是否有一种聪明的方法可以在每次更新时“重新评估”MAX(COL2)+1的值?我意

mysql - 数据库设计 : Index Varchar

我有一个表,它有一个主键,它是一个整数,然后是一个用于按类型搜索的列,它是一个varchar。让我们说content_id和content_type。SELECT*FROMTABLE_AWHEREcontent_type='abc'varcharcontent_type的长度为255。我正在考虑为它建立索引以加快SELECT查询。这会提高性能吗?即使它的长度为255,如果只使用5个字符而不是整个255个字符,这会对性能产生影响吗? 最佳答案 content_type上的索引应该使您的查询更快:select*fromtable_awh

PHP 表单复选框和 undefined index

提交带有未选中复选框的表单时出现“未定义索引”错误。除了对每个单独的发布值运行“isset”或“空”检查之外,还有其他方法吗?我看过这个Question并且很难相信这是唯一的解决方案。下面是一些示例代码:编辑:请注意,这些不是表列的实际名称;它们的名称是唯一的(例如“postAddress、displayPhone、student等”) 最佳答案 您可以编写一个函数来检查复选框是否被选中:functioncheckbox_value($name){return(isset($_POST[$name])?1:0);}现在在您的查询中调

php - 在 MySQL UPDATE (PHP/MySQL) 中使用变量

我正在使用这段代码,所以我可以更新数据库中的记录:$query=mysql_query("UPDATEarticleSETcom_count=".$comments_countWHEREarticle_id=.$art_id");我的问题是:如何在MySQLUPDATE语句中使用变量。 最佳答案 $query=mysql_query("UPDATEarticlesetcom_count=$comments_countWHEREarticle_id=$art_id");你弄乱了引号和连接。您可以像前面的示例一样使用内联变量或像这样连接

mysql - ORDER BY ... ASC 很慢, "Using index condition"

我有2个表:user和post。使用showcreatetable语句:CREATETABLE`user`(`user_id`bigint(20)NOTNULLAUTO_INCREMENT,`user_name`varchar(20)CHARACTERSETlatin1NOTNULL,`create_date`datetimeDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(`user_id`))ENGINE=InnoDBAUTO_INCREMENT=59DEFAULTCHARSET=utf8;CREATETABLE`post`(`post_id`int(10)u

SQL UPDATE 语句 - 返回成功但 0 行受影响

我正在发送SQLUPDATE查询,而mySQL数据库表现异常。它返回成功的响应,但0行受到影响。代码是:UPDATEplaceSETcity='Qatar'ANDcountry='Qatar'WHEREplaceid='25'响应:成功影响0行。(查询耗时0.0003秒)数据库中肯定有一条placeid='25'的记录。如果我执行SELECT*FROMplaceWHEREplaceid='25',我会返回记录。有什么想法吗?谢谢!编辑:Tablestructure:SQLquery:describeplace;Rows:9FieldTypeNullKeyDefaultExtratitl