我在php中制作图像删除器有问题,我不知道是什么问题。
PHP:
<?php if (isset($_POST['dcheck'])) {
$img_dir = "Uploads/";
$image = $_POST['dcheck'];
mysql_query("DELETE FROM Photos WHERE PhotoNumber = '".$image."'") or die(mysql_error());
echo 'The image(s)
我使用以下mysql查询,
DELIMITER $$
DROP PROCEDURE IF EXISTS `allied`.`aboutus_delete`$$
CREATE DEFINER=`allied`@`%` PROCEDURE `aboutus_delete`(
IN p_Id int(11)
)
BEGIN
if exists( select aboutUsId
from aboutus
where aboutUsId=p_id
and isDeleted=0
在MySQL 5.1.34服务器上,我遇到以下令人困惑的情况:
mysql> explain select * FROM master.ObjectValue WHERE id IN ( SELECT id FROM backup.ObjectValue ) AND timestamp < '2008-04-26 11:21:59';
+----+--------------------+-------------+-----------------+----------------------------------------------------------
假设我有一个包含多列的MySQL users表,其中一列是用户id (不能有重复的条目)。在删除或更新特定行时,我是否应该使用LIMIT 1,这是否比delete和update查询没有限制更快?
那么,DELETE FROM users WHERE id=123 LIMIT 1比DELETE FROM users WHERE id=123快吗?
更新也是这样吗?
我有一个InnoDB表,我经常在其中插入和删除行。
我注意到,在对最后几行执行delete语句并运行优化表后,自动增量将降回max(id)+1。
考虑以下事件的顺序
表:请求
Auto Increment is: 150, INSERT ROW (id 150)
Auto Increment is: 151, INSERT ROW (id 151)
Auto Increment is: 152, INSERT ROW (id 152)
Auto Increment is: 154
DELETE from requests where id in (151,152)
OPTIMIZE TAB
要从包含100 k条记录的表中删除大约90k条记录,我会:
delete from table1 where id in ( select id from table2 ) ;
大约需要30分钟,如果我用某种编程语言构造相同的动态,它在不到一分钟的时间内就会运行。
for i in (records to delete)
delete from table1 where id = i
如何优化原生mysql查询?
我必须删除很多基于id值的数据。哪个是最快的:
DELETE FROM myTable WHERE id = '10' OR id = '20' OR id = '43' OR id = '54' .......
或
DELETE FROM myTable WHERE id = '10'; DELETE FROM myTable WHERE id = '20'; ........
如果您有其他解决方案,请毫不犹豫地告诉我。
(这里的id不是主键或索引,是一个外键,因为它引用了一个单词,并且在这个数据
在一个大型实例(即非常强大的实例)的MySQL 5 (Amazon RDS)上运行这个查询,这个查询需要16秒才能执行。这个InnoDB表大约有200万行。
DELETE FROM quiz_multichoice_user_answer_multi WHERE
user_answer_id IN( SELECT id FROM
quiz_multichoice_user_answers WHERE question_nid =
1001700 AND question_vid = 1002731 AND result_id =
64003
以下delete语句导致mysql卡住:
DELETE FROM domains WHERE id IN (SELECT domain_id FROM domains_groups WHERE group_id = 9);
虽然这个语句也是这样做的,但它的作用是:
DELETE FROM domains WHERE id IN (select id from (SELECT domain_id as id FROM domains_groups WHERE group_id = 9) a);
有人能解释原因吗?
请考虑以下情况:
我有一个MySQL表,名为actor。(是的,它来自Sakila样本DB)。
表中有一个名为last_name的varchar列。
列上有一个(非主)键。
打开MySQL安全更新模式。
当我运行这个查询时,它可以工作:
DELETE FROM actor WHERE last_name = 'foo';
当我运行这个查询时:
DELETE FROM actor WHERE last_name LIKE '%fo' OR last_name LIKE 'fo%';
此错误消息失败:
错误代码: 1175。
我必须调查一个MySQL生产服务器,当我在"SHOW PROCESSLIST"中发现一个DELETE查询时,它在preparing状态下花费了400秒以上,我试图在慢速日志中找到查询,但在慢日志中找不到查询。
mysql> show full processlist;
+------+-----------------+---------------------+-----------+---------+------+-----------------------------+-----------------------------------------------
问题
以下查询产生一个非常低效的查询计划:
select `event`.`id` as `eventId`
from `alert`
inner join `event` on `event`.`id` = `alert`.`eventId`
inner join `property` on `property`.`id` = `event`.`propertyId`
inner join `landlord` on `landlord`.`id` = `property`.`landlordId`
where `landlord`.`reference` in (
'
我们希望将LAMP服务器从MySQL 5.7迁移到MariaDB 10.6。我们克隆了服务器,安装了MariaDB并迁移了数据库。我原以为SQL查询会有一些速度上的改进,但令我惊讶的是,我们的应用程序在使用MariaDB时速度更慢。我试图分析一些查询,我向您展示了一个特定的案例。
我们有这样一个查询:(a) SELECT .. FROM .. WHERE EXISTS (SELECT .. FROM .. WHERE outer_col=inner_col AND inner_where)
用MySQL 5.7: 0.1s。与MariaDB 10.6: 10
我试图按照建议的:(b) .. W
提供如下所示的查询:
DELETE FROM FOO WHERE ID in (1,2,3,4,....);
包含的值的数量是否有上限?(我见过甲骨文在1000岁时抱怨,但那是很久以前的事了。我不知道这是否是安装依赖,甲骨文版本依赖,等等,或mysql如何限制这一点。
对性能的影响是什么?将值组分解成较小的子集并发送多个删除请求会更快吗?
我正试图在Workbench中转发一个ER图,以创建我的模式,并且我得到了一个错误。我使用的是mySql工作台。
这是我得到的错误消息:
Executing SQL script in server
ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
INDEX `city_id_fk_idx` (`city_id` AS
我想保存非常长的文本,如base64(图像)编码的字符串到mysql表中。
在这种情况下,执行查询(select、insert、update、delete)是否很慢?
select * from A where index = x
table A
column index
column base64String <-- MEDIUMTEXT type
在mysql中有很多慢查询,只与update和delete相关。这些表有2个索引列,没有繁重的索引表。每个表平均有30K条记录。
请给出您的建议,如何克服与更新和删除查询相关的慢查询。这些类型的查询:
DELETE FROM <table2>
WHERE ID IN (SELECT ID
FROM <table1> WHERE ID2=100);
...or:
UPDATE <table1>
SET <colmunname>=0
WHERE id=1001;
我有一个MySQL数据库,我从日志中解析文件并将其输入其中。
到目前为止,在数据库中包含一个简单的4MB文件可能需要大约4分钟的时间来插入!我有大约1万份这样的文件要处理。
起初,我认为这是我的脚本,但经过进一步研究,我了解到这可能与索引有关。
我有一张4 columns, 1 primary key and 2 foreign keys which are by default indexes的桌子。
从这里可以知道索引是否会影响插入性能?我似乎不能使用解释插入与MySQL,所以我不知道有更多的信息提供。
CREATE TABLE `as_path` (
`AS_Path_ID` int
我们有一个带有大型MySQL表的项目(Ubuntu18.04.1上使用InnoDB的MySQL版本5.7.35-0 )。我的意思是大约100米的行,300 of。
我想在那里修剪一下。这可以通过以下SQL查询来实现:
DELETE FROM Commit WHERE current=0;
但这将锁定数据库,我需要强制终止该进程。我有一个列电流指数。我可以将查询分成几块:
DELETE FROM Commit WHERE current=0 LIMIT 100;
如果我要删除1行,它立即完成,如果100,它需要几毫秒,如果它需要一秒钟,如果10000大约每分钟,和不成比例地越来越多(不是线性)。
我有一个MySql表(Pin_codes)。首先,我想从这个表中选择200行并导出它们,然后删除这200行。
如果这个表的If是连续的,我可以这样做:
SELECT * FROM pin_codes WHERE id<200 and id>1;
DELETE FROM pin_codes WHERE id<200 and id>1;
但是ID是这样的:
52138
52139
52141
52142
52144
52147
52148
52157
52158
...
我怎么能这么做?