草庐IT

database-performance

全部标签

php - 如何在数据库中管理国家

我知道我的问题看起来有点含糊,但我觉得管理国家/地址实际上是很常见的事情,所以我想就我的实际设置获得一些建议。我有一个带有“国家/地区”列的数据库,以前它是一个中型int类型,充当另一个表的外键,其中包含有关国家/地区的实际信息(主要是ID、名称和ISO3166-1alpha2代码)。经过一些测试和基准测试后,我最终将所有国家/地区信息保存在一个php文件数组中,在需要时包括/要求它,这比查询数据库快一到两个数量级。(他们是278个国家)。显然这是一种更好的方法,但我觉得有些不对劲,因为人们通常倾向于从表格而不是文件中读取这种东西,但我不知道它会是什么,它更容易吗维护或类似的东西?此外

php - MySQL "ERROR 1046 (3D000): No database selected"更新查询

我有一个更新查询,我在其中明确引用了数据库,但MySQL仍然提示消息:ERROR1046(3D000):Nodatabaseselected。其他结构相似但使用INSERT的查询工作正常。其他仅执行SELECT的查询也运行良好。要在测试用例中重复该问题,请尝试运行这些查询:createtabletest.object1(id_object1intunsignednotnullauto_increment,totalint,weightint,dtdatetime,primarykey(id_object1))engine=InnoDB;createtabletest.object2(i

php - MySQL 最佳实践 : SELECT children recursive as performant as possible?

我想选择一个根项,它的子项尽可能高效。我更喜欢使用嵌套集模型,但这次表结构遵循邻接模型。Moreaboutnestedsetsandadjancencymodel.我有一个dependencies-table和一个items-table。依赖表dependency_id|item_id|child_id1|1|42|2|53|4|74|7|35|9|36|1|2项目表item_id|name|info1|ItemA|1stItem2|ItemD|2ndItem3|ItemC|3rdItem4|ItemD|4thItem5|ItemE|5thItem6|ItemF|6thItemSQL,

database - 是否可以在 mysql 中进行批量复制

我需要在我的Mysql数据库中插入多行。我的行在我的数据集中可用。我正在使用for循环逐行发送是正确的方法吗?... 最佳答案 您可以像这样使用单个SQL语句插入多行:INSERTINTOmyTable(col1,col2,col3)VALUES('myval1','myval2','myval3'),('myotherval1','myotherval2','myotherval3'),('anotherval1','anotherval2','anotherval3');更新:MarkR在他的评论中是正确的-如果您正在从用户那里

向量数据库极简教程 | A Gentle Introduction to Vector Databases

目录Relationalisnotenough 关系是不够的x2vec:Anewwaytounderstanddatax2vec :一种理解数据的新方法Someprepwork 一些准备工作

mysql - MySQL中如何优化大表,什么时候可以从分区中受益?

总之,日期范围分区和内存配置实现了我的目标。我需要增加分配给的内存innodb_buffer_pool_size因为默认的8M太低了。瑞克詹姆斯推荐70%ofRAM对于这个设置,他有很多很好的信息。Edlerd对这两个建议都是正确的:-)我将数据拆分为每月分区,然后运行​​6,000行响应查询,该查询最初需要6到12秒。现在它可以在不到一秒的时间内完成(.984/.031)。我使用默认的innodb缓冲区大小(innodb_buffer_pool_size=8M)运行它以确保它不仅仅是内存增加。然后我设置innodb_buffer_pool_size=4G并以0.062/.032的更好

php - Mysql如何设置时间数据类型为only HH :MM in database

如何将我的mysql数据库字段“时间”数据类型设置为数据库中的HH:MM,在我的脚本中,用户只输入HH:MM,数据库会自动添加最后一个:SS数字,问题是当我提取该值进行编辑时,它还会添加最后一位数字,这有点烦人,我可以用PHP摆脱它并截断末尾,但我希望有一种方法可以在数据库中设置它以删除最后2位SS数字永远有效。 最佳答案 我不相信你可以配置你的数据库来存储没有SS的时间。MySQL的TIME数据类型引用:http://dev.mysql.com/doc/refman/5.1/en/time.html在提取数据后,您必须在mysql

mysql - 错误 "The passwords provided for the Sugar database user do not match. Please re-enter the same passwords in the password fields"

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。关闭9年前。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明可以在哪里回答问题。关于您编写​​的代码问题的问题必须在问题本身中描述具体问题—并且包括有效代码以重现它。参见SSCCE.org寻求指导。Improvethisquestion当尝试使用mysq

php - Joomla 3.1 : accessing database from an external PHP

我有一个外部PHP脚本,我正在使用PDO进行查询:try{$dbh=newPDO("mysql:host=$hostname;dbname=$db",$username,$password);$sql="SELECT*FROM$tableWHEREuserName=:userName";$stmt=$dbh->prepare($sql);$stmt->bindParam(':userName',$userName);$stmt->execute();$rows=$stmt->fetchAll(PDO::FETCH_ASSOC);$dbh=null;}catch(PDOException

MySQL - 如何有效地获取 ID 最低的行?

有没有比在以下查询中使用ORDERBYidLIMIT1更快的更新MySQL表中符合特定条件的最旧行的方法?UPDATEmytableSETfield1='1'WHEREfield1=0ORDERBYidLIMIT1;注意:假设主键是id并且field1上也有一个索引。我们正在更新单行。我们没有严格更新最旧的行,我们正在更新符合条件的最旧的行。我们要更新最老的匹配行,即最低的id,即FIFO队列的头部。问题:是否需要ORDERBYid?MySQL默认是如何排序的?现实世界的例子我们有一个用于电子邮件队列的数据库表。当我们想要将电子邮件排队发送给我们的用户时,会添加行。行由cron作业删除