谈到数据库,我是一个相对的新手。 我们正在使用MySQL,目前我正在尝试加速SQL语句,似乎需要一段时间才能运行。 我环顾了一下类似的问题,但没有find一个。 目标是删除表A中与表B中匹配的所有行。 我目前正在执行以下操作: DELETE FROM a WHERE EXISTS (SELECT b.id FROM b WHERE b.id = a.id); 表a中约有100K行,表b中约有22K行。 列'id'是两个表的PK。 这个陈述需要大约3分钟的时间运行在我的testing盒 – 奔腾D,XP SP3,2GB内存,MySQL 5.0.67。 这对我来说似乎很慢。 也许不是,但我希望能加快速度。 有没有更好/更快的方法来完成这个? 编辑: 一些额外的信息,可能会有所帮助。 表A和B具有相同的结构,我已经做了以下创build表B: CREATE TABLE b LIKE a; 表a(也就是表b)有几个索引来帮助加快对它的查询。 再次,我是DB工作的相对新手,仍然在学习。 我不知道这对事物有多大影响,如果有的话。 我认为它也有效果,因为索引也必须清理,对吧? 我也想知道是否有任何其他数据库设置,可能会影响速度。 另外,我正在使用INNO DB。 以下是一些可能对您有帮助的其他信息。 表A有一个类似的结构(我已经消毒了一下): DROP TABLE IF EXISTS `frobozz`.`a`; CREATE TABLE `frobozz`.`a` ( `id` […]
我有一个用户,我想授予所有数据库架构的读取权限。 一种方法是: GRANT SELECT, SHOW_VIEW ON test.* TO 'readuser'@'%'; 有没有办法将所有读取操作分组?
SET @v1 := SELECT COUNT(*) FROM user_rating; SELECT @v1 当我用setvariables执行这个查询时,显示这个错误。 Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT count(*) FROM user_rating' at line 1 Execution Time : 00:00:00:000 Transfer Time : 00:00:00:000 Total […]
什么是正确的字段types的IP地址在MySQL? 什么是使用PHP存储它的正确方法?
我有一个MySQL语句插入一些variables到数据库中。 我最近添加了两个可选的字段($ intLat,$ intLng)。 现在,如果这些值没有input,我会传递一个空string作为值。 如何将一个显式的NULL值传递给MySQL(如果为空)? $query = "INSERT INTO data (notes, id, filesUploaded, lat, lng, intLat, intLng) VALUES ('$notes', '$id', TRIM('$imageUploaded'), '$lat', '$long', '$intLat', '$intLng')"; mysql_query($query);
有没有办法从所有值的特定列中删除所有的空格?
我有一个查询的效果 SELECT t3.id, a,bunch,of,other,stuff FROM t1, t2, t3 WHERE (associate t1,t2, and t3 with each other) GROUP BY t3.id LIMIT 10,20 我想知道很多总行这个查询将返回没有极限(所以我可以显示分页信息)。 通常情况下,我会使用这个查询: SELECT COUNT(t3.id) FROM t1, t2, t3 WHERE (associate t1,t2, and t3 with each other) GROUP BY t3.id 然而,GROUP BY改变了COUNT的含义,而我得到了一组代表每个组中唯一t3.id值的数目的行。 当我使用GROUP BY时,有没有办法获得总数的计数? 我想避免必须执行整个查询,并只计算行数,因为我只需要行的一个子集,因为值分页。 我正在使用MySQL 5,但我认为这很通用。
我想采取整个数据库。 我在哪里可以find数据库文件? 有没有办法将整个数据库的所有数据写入一个文本文件(如SQL Server中的)?
我正在使用Pentaho数据集成,我试图通过MySQL连接到我的数据库,但是当我这样做,我得到这个错误….. Error connecting to database [devdb2] : org.pentaho.di.core.exception.KettleDatabaseException: Error occured while trying to connect to the database Exception while loading class org.gjt.mm.mysql.Driver org.pentaho.di.core.exception.KettleDatabaseException: Error occured while trying to connect to the database Exception while loading class org.gjt.mm.mysql.Driver at org.pentaho.di.core.database.Database.normalConnect(Database.java:368) at org.pentaho.di.core.database.Database.connect(Database.java:317) at org.pentaho.di.core.database.Database.connect(Database.java:279) at org.pentaho.di.core.database.Database.connect(Database.java:269) at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:86) at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2464) at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:533) at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source) at […]
我正在使用MySQL和MySQL Workbench 5.2 CE。 当我尝试连接2列, last_name和first_name ,它不起作用: select first_name + last_name as "Name" from test.student