Tag: 索引

什么时候应该使用复合索引?

什么时候应该在数据库中使用组合索引? 什么是使用复合索引的性能分支)? 为什么我应该使用复合索引? 例如,我有一个homes表: CREATE TABLE IF NOT EXISTS `homes` ( `home_id` int(10) unsigned NOT NULL auto_increment, `sqft` smallint(5) unsigned NOT NULL, `year_built` smallint(5) unsigned NOT NULL, `geolat` decimal(10,6) default NULL, `geolng` decimal(10,6) default NULL, PRIMARY KEY (`home_id`), KEY `geolat` (`geolat`), KEY `geolng` (`geolng`), ) ENGINE=InnoDB ; 对于geolat和geolng使用复合索引是否geolng ,例如: 我replace: KEY `geolat` (`geolat`), KEY `geolng` […]

索引中列的顺序有多重要?

我听说你应该在索引声明的开始部分放置最有select性的列。 例: CREATE NONCLUSTERED INDEX MyINDX on Table1 ( MostSelective, SecondMost, Least ) 首先,我说的是正确的? 如果是这样,我是否可以通过重新排列索引中列的顺序来看到性能上的巨大差异,还是更像是“做得好”的做法? 我问的原因是因为在通过DTA进行查询之后,build议我创build一个索引,它与现有索引中的几乎所有列都相同,只是顺序不同。 我正在考虑只是将缺less的列添加到现有的索引,并称它为好。 思考?

访问列表的多个元素知道他们的索引

我需要从列表中select一些元素,了解它们的索引。 假设我想创build一个新的列表,其中包含索引为1,2,5的元素从给定列表[-2,1,5,3,8,5,6]。 我做的是: a = [-2,1,5,3,8,5,6] b = [1,2,5] c = [ a[i] for i in b] 有没有更好的方法来做到这一点? 像c = a [b]的东西?

SQL Server索引 – 升序或降序,它有什么不同?

当您在MS SQL Server(我正在使用版本2005)的一列或多列上创build索引时,可以指定每列上的索引是升序还是降序。 我很难理解为什么这个select甚至在这里。 使用二进制sorting技术,不会查找速度一样快? 我select哪个订单有什么不同?

数组元素的索引比O(n)快

鉴于我有一个巨大的数组,并从它的价值。 我想获得数组中的值的索引。 有没有其他的方法,而不是调用Array#index来获取它? 这个问题来自保持真正巨大的数组并且需要调用Array#index巨大的时间。 经过几次尝试之后,我发现通过使用(value, index)字段而不是值本身存储结构来caching索引内容会给性能带来巨大的一步(20倍的胜利)。 我仍然想知道是否有一个更方便的方式来find没有caching的元素索引(或者有一个很好的caching技术可以提高性能)。

如何在MySQL中删除独特的?

Create Table: CREATE TABLE `fuinfo` ( `fid` int(10) unsigned NOT NULL, `name` varchar(40) NOT NULL, `email` varchar(128) NOT NULL, UNIQUE KEY `email` (`email`), UNIQUE KEY `fid` (`fid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 我想放弃email上的唯一键,怎么样?

SQL Server索引命名约定

有没有一些标准的方法来命名SQL Server的索引? 似乎主键索引被命名为PK_,而非聚簇索引通常以IX_开头。 除了唯一索引之外,是否有任何命名约定?

使用jQuery获取所选选项的索引

我有点困惑如何从HTML <select>项目获取选定的选项的索引。 在这个页面上描述了两种方法。 但是,两者总是返回-1 。 这是我的jQuery代码: $(document).ready(function(){ $("#dropDownMenuKategorie").change(function(){ alert($("#dropDownMenuKategorie option:selected").index()); alert($("select[name='dropDownMenuKategorie'] option:selected").index()); }); }); 和在HTML中 (…) <select id="dropDownMenuKategorie"> <option value="gastronomie">Gastronomie</option> <option value="finanzen">Finanzen</option> <option value="lebensmittel">Lebensmittel</option> <option value="gewerbe">Gewerbe</option> <option value="shopping">Shopping</option> <option value="bildung">Bildung</option> </select> (…) 为什么这种行为? 在分配change()方法的时刻, select是不是“准备好”的机会? 另外,将.index()更改为.val()会返回正确的值,所以这就更加困惑了。

聚簇索引与非聚簇索引之间的区别

我需要添加适当的索引到我的表,需要一些帮助。 我很困惑,需要澄清几点: 我应该使用索引非int列吗? 为什么/为什么不 我已经读了很多关于聚集索引和非聚集索引的知识,但是我仍然不能决定何时使用索引。 一个很好的例子会帮助我和其他许多开发者。 我知道我不应该使用经常更新的列或表的索引。 还有什么我应该注意的,我怎么能知道在进入testing阶段之前,这一切都很好?

MySQL中的Index和Key有什么区别?

我知道如何在下面的代码中使用INDEX。 而且我知道如何使用外键和主键。 CREATE TABLE tasks ( task_id INT UNSIGNED NOT NULL AUTO_INCREMENT, parent_id INT UNSIGNED NOT NULL DEFAULT 0, task VARCHAR(100) NOT NULL, date_added TIMESTAMP NOT NULL, date_completed TIMESTAMP, PRIMARY KEY (task_id), INDEX parent (parent_id), …. 但是,我发现一个代码使用KEY而不是INDEX如下。 … KEY order_date (order_date) … 我无法在MySQL官方页面find任何文档。 谁能告诉我KEY和INDEX的区别是什么? 我可以看到不同的是,当我使用KEY …时,我需要重复该单词,例如KEY order_date(order_date)。