草庐IT

integer-hashing

全部标签

MySQL HASH 索引显示为 MyISAM 数据库的 BTREE

我有一个MyISAM数据库,我正在尝试添加一个HASH索引。当我这样做然后查看索引类型时,它显示为BTREE。来自阅读MySQLHashIndexesforOptimization看起来HASH不是MyISAM的选项。如何更改我的数据库以允许我使用HASH索引类型? 最佳答案 MyISAM和InnoDB都不支持HASH索引。只有MEMORY和NDB存储引擎支持HASH索引。下面是对索引类型和支持它们的存储引擎的一个很好的总结:https://mariadb.com/kb/en/storage-engine-index-types/为

mysql - Rails 枚举 : String or Integer column?

我目前正在为枚举寻找合适的Railsgem。我已经试过了enum_simulatorhas_enum两者都使用数据库中的字符串列来存储枚举数据。整数列不会有更好的性能或更少的存储消耗(使用MySQL)吗?是否有已经可以做到这一点的gem?非常感谢!更新:我找到了simple_enumgem,它使用整数值来表示数据库中的枚举。它支持rails3.1并且维护良好。simple_enum 最佳答案 Ruby工具箱是您的好friend。https://www.ruby-toolbox.com/categories/Active_Record

PHP,可以吗?将 password_hash 中的字符串作为主键存储在数据库中?

我有一个字符串配置,例如:“healtheworld”然后我像这样使用密码哈希对其进行转换password_hash($string,PASSWORD_DEFAULT)然后我将它存储在数据库中的字段内>>“token”(主键)我能行吗?如果可以的话,如果password_hash的字符串再次生成,在数据库上有机会得到和之前一样的结果吗? 最佳答案 是的,因为每次使用生成的散列作为表中的主键时,使用password_hash()完成的散列密码都会生成一个唯一的散列。只需确保该列的长度为60个或更多字符。

php - 登录授权,如何检查密码是否匹配SALT + HASH - PHP + MySQL

我目前正在做一个学校项目,最近在完成登录授权方面没有任何进展。我正在使用HASH和SALT来注册新用户。我找不到任何对我有帮助的资源,所以我决定在这里注册一个帐户来问我自己的问题。这是我的注册脚本:$username=$_POST['username'];$email=$_POST['email'];$first=$_POST['fname'];$last=$_POST['lname'];$salt=crypt("sha512",false);$pass=$_POST['password'];$password=hash("sha512",$salt.$pass.$salt,false

MySQL : assign integer value to the String values and get the average

我正在使用mysql数据库。我有一个名为反馈的表,其中有一个字段howIsTraining这可能有五个值“优秀、非常好、好、差和可怜”中的一个值我想编写查询,以下列格式给出所有数据的平均值我想给每个值赋整数值优秀=5非常好=4好=3差=2可悲=1如果说我在表Excellent,VeryGood,Excellent,Good,Poor中有五个记录这意味着((5+4+5+3+2)/5)=3.8最终结果为3.8 最佳答案 selectavg(casehowIsTrainingwhen'Excellent'then5when'VeryGoo

详解一致性hash算法(Consistent-hashing):原理、图解、代码示例

一致性hash算法(Consistenthashing)Consistenthashingisaschemethatprovideshashtablefunctionalityinawaythattheadditionorremovalofoneslotdoesnotsignificantlychangethemappingofkeystoslots.Hash算法是一种将任意长度的消息压缩到一个固定长度的输出(即哈希值)的算法。它主要用于数据完整性校验、数据加密、数字签名等方面。具体来说,hash算法的主要作用如下:数据完整性校验。通过对输入数据进行哈希计算,得出的哈希值可以作为一种独特的“指

mysql - 将 "year"列定义为 Integer 类型还是 String 类型更好?

我确实意识到,如果必须对其执行数学计算,那么列最好是整数。我可能必须对“年”列执行数学计算,但最少。那么将其存储为字符串或整数会更好吗?谢谢。 最佳答案 将其保存为整数。虽然在某些应用程序中,您可能会如此频繁地读取和提供此数据,以至于int->string转换是一个问题……这将成为一种边缘情况。另一边整数在数据存储中提供比字符串更小的选项(例如TINYINT)您避免了因数学而产生的转化当所有跟随您的开发人员查询自然为数字的数据类型并获得字符串时,这会让他们感到困惑/烦恼/沮丧。 关于my

mysql gem 与 mysql2 gem 和 'each_hash' 方法

以前我在我的应用程序中使用过mysqlRubyGem。现在我已经切换到mysql2RubyGem并且我遇到了Result类的问题。代码示例:db_values=ActiveRecord::Base.connection.execute(sql)db_values.each_hashdo|db_value|ret_val以前(在mysqlRubyGem中)有用于遍历数据的each_hash方法。在mysql2RubyGem中,Result类只有3种可能的方法(count、each、fields),其中之一是each方法,但这不是我循环获取数据所需要的。有什么建议吗?

php - 错误 1366 (HY000) : Incorrect integer value: '' for column 'id' at row 1

关闭。这个问题需要debuggingdetails。它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem。这将有助于其他人回答问题。关闭7年前。Improvethisquestion我的代码:$sql="INSERTINTO".static::$table_name."(";$sql.=join(",",array_keys($attributes));$sql.=")VALUES('";$sql.=join("','",array

php - password_hash, password_verify, MySQL 误解?

我似乎无法通过此测试来显示数据库中的散列密码。它可以很好地显示表单中的密码。尝试进行此测试以弄清楚为什么我无法通过与数据库中存储的密码相比来验证表单中的密码。我读到了一些关于转义散列中的$符号的内容,但我不确定如何使用我正在使用的代码来做到这一点。无论哪种方式,有些事情是不对的。任何帮助将不胜感激!require('../connect.php');$username=$_POST['username-sign-in'];$password=$_POST['password-sign-in'];$hashedpassword=password_hash($password,PASSWO