我有一个大小为100万的数据集并输入数据框.
Id description 1 bc single phase acr 2 conditioning accum 3 dsply value ac和字典大小2927,如下所示:
Key Value accum accumulator bb baseboard dsply display
执行以下代码以使用其值替换dataframe中找到的字典键
dataset=dataset.replace(dict, regex=True)
Run Code Online (Sandbox Code Playgroud)
但它会耗费更多的时间来实现,即2000.0数据集的104.07914903743769秒,并且需要8GB RAM,我需要为数百万的数据集应用此代码.所以有人能告诉我如何减少执行时间吗?还有其他方法可以完成任务吗?
我有一个 spring data jpa 查询,它使用悲观锁从 mysql 表中读取一行。在我的环境中,该表仅包含一行,因此它应该非常快。
\nspring data jpa 函数名为 FindTopByIsCurrent(boolean iscurrent) ,它应该只检索表的唯一元素。
\n当命令运行时,它会无限期挂起。检查 SHOW ENGINE INNODB STATUS 的输出
\n---TRANSACTION 170279307,\n\nACTIVE 3859 sec\n2 lock struct(s), heap size 1136, 1 row lock(s)\nMySQL thread id 11665, OS thread handle 140237095196416, query id 770252923 10.51.5.32 root\nTABLE LOCK table `mydb`.`mytable` trx id 170279307 lock mode IS\nRECORD LOCKS space id 722 page no 3 n bits 72 index PRIMARY of table `mydb`.`mytable` trx id 170279307 lock mode S\nRecord lock, heap no …Run Code Online (Sandbox Code Playgroud) 我有三张桌子
我想编写一个查询来查找具有相同技能的用户,例如这是 UserSkill 表中的示例数据
U-id S-id
1 1
1 2
1 7
2 1
2 6
Run Code Online (Sandbox Code Playgroud)
所以结果会是这样的
UserName1 UserName2 SkillName
A B Java
Run Code Online (Sandbox Code Playgroud)

这是我的查询
{select ui.UserName,ui2.UserName,SkillName
from
UserSkill us1 inner join UserSkill us2
on us1.SkillID = us2.SkillID and us1.UserID <> us2.UserID
inner join UsersINFO UI
on ui.UserID = us1.UserID
inner join UsersINFO ui2
on ui2.UserID = us2.UserID
inner join Skill s
on s.SkillID = us2.SkillID}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人知道更好的编写查询的方法