首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >路由前缀不适用于索引

路由前缀不适用于索引
EN

Stack Overflow用户
提问于 2017-12-22 21:28:14
回答 1查看 560关注 0票数 1

我有控制器:DoomPlaceController

In route: I have used: doom-place/{parameter} // no action

在主计长中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Route("doom-place/{parameter}")]
public ActionResult Index(string parameter)
{
    return View(); 
}

我想要的:当我点击URL:www.xyz.com/doom-place时,它应该打开Doom-Place/index页面。

但是现在,我可以用doom-place/index访问页面,但是当我点击www.xyz.com/doom-place时,它会自动打开索引页。

我们会感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-22 21:45:32

可以将参数设置为可选的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[RoutePrefix("doom-place")]
public class DoomPlaceController : Controller {
    //Matches GET /doom-place
    //Matches GET /doom-place/some_parameter
    [HttpGet]
    [Route("{parameter?}")]
    public ActionResult Index(string parameter) { 
        return View(); 
    }
}

在使用属性路由的情况下,假设属性路由已在RouteConfig.RegisterRoutes中启用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void RegisterRoutes(RouteCollection routes) {
    routes.IgnoreRoute({resource}.axd/{*pathInfo});

    //enable attribute routing     
    routes.MapMvcAttributeRoutes();

    //covention-based routes
    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}

参考ASP.NET MVC 5中的属性路由

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47950019

复制
相关文章
mysql 前缀索引_MySQL前缀索引
有时候需要索引很长的字符字段列,这会增加索引的存储空间以及降低索引的查询效率,一种策略是可以使用哈希索引,还有一种就是使用前缀索引。
全栈程序员站长
2022/08/25
4.8K0
前缀索引
当索引是很长的字符序列时,这个索引将会很占内存,而且会很慢,这时候就会用到前缀索引了。所谓的前缀索引就是去索引的前面几个字母作为索引,但是要降低索引的重复率,索引我们还必须要判断前缀索引的重复率。先看这样一张表:
全栈程序员站长
2022/08/31
7770
mysql前缀索引使用,Mysql:前缀索引与索引[通俗易懂]
一般来说,我很想知道使用前缀索引时是否有任何警告.不考虑性能,如果任何查询必须以不同方式编写,或者客户端是否必须执行额外逻辑,则更多.
全栈程序员站长
2022/08/25
5.3K0
mysql前缀索引语句_mysql 前缀索引
alter table table_name add index index_name(column_list)
全栈程序员站长
2022/08/25
1.5K0
前缀索引使用
索引通常会使用字段的整体用作关键字,但是有些时候,即使使用字段的前段部分数据也是可以去识别某些记录的,而这种方式就是前缀索引,可以更快的去搜索某些数据 建立前缀索引的语法:
全栈程序员站长
2022/08/31
6780
mysql 建前缀索引_MySQL_前缀索引_建立[通俗易懂]
from sakila.city_demo group by city order by cnt desc limit 10;
全栈程序员站长
2022/08/25
2.9K0
前缀索引和覆盖索引
当索引的字符串列很大时,创建的索引也就变得很大,为了减小索引体积,提高索引的扫描速度,就用索引的前部分字串索引,这样索引占用的空间就会大大减少,并且索引的选择性也不会降低很多。而且是对BLOB和TEXT列进行索引,或者非常长的VARCHAR列,就必须使用前缀索引,因为MySQL不允许索引它们的全部长度。
全栈程序员站长
2022/08/31
5810
mysql前缀索引 默认长度_如何确定前缀索引的长度?
Specified key ‘uniq_code’ was too long; max key length is 767 bytes.
全栈程序员站长
2022/08/31
3.6K0
优化MySQL前缀索引[通俗易懂]
通过索引选择性来确定前缀索引截取的字节位数,索引的选择性指不重复的索引值与数据总量的比值。索引的选择性越高则查询效率越高,因为选择性更高的索引可以让mysql在查找的时候过滤掉更多的行。
全栈程序员站长
2022/08/31
1.1K0
优化MySQL前缀索引[通俗易懂]
第20期:索引设计(前缀索引)
这里主要介绍 MySQL 的前缀索引。从名字上来看,前缀索引就是指索引的前缀,当然这个索引的存储结构不能是 HASH,HASH 不支持前缀索引。
爱可生开源社区
2021/02/01
6540
「Mysql索引原理(九)」前缀压缩索引
MyISAM使用前缀压缩来减少索引的大小,从而可以让更多的索引可以放入内存中,这在某些情况下能极大地提高性能。默认只压缩字符串,但通过参数设置也可以对整数做压缩。MyISAM压缩每个索引块的方法是,完全保存索引块中的第一个值。然后将其他值和第一个值进行比较得到相同前缀的字节数和剩余的不同后缀部分,把这部分存储起来即可。 例如,索引块中的第一个值是“perform”,第二个值是“performance”,那么第二个值的前缀压缩后存储的是类似“7,ance”这样的形式。MyISAM对行指针也采用类似的前缀压缩方式。 压缩块使用更少的空间,代价是某些操作可能更慢。因为每个值的压缩前缀都依赖前面的值,所以MyISAM查找时无法在索引块使用二分查找而只能从头开始扫描。正序的扫描速度还不错,但是如果是倒序扫描——例如order by desc就不是很好找。所有在块中查找某一行的操作平均都需要扫描半个索引快。 对于CPU密集型应用,因为扫描需要随机查找,压缩索引使得MyISAM在索引查找上要慢好几倍。压缩索引的倒序扫描就更慢了。压缩索引需要在CPU内存资源与磁盘之间做平衡。压缩索引可能只需要十分之一大小的磁盘空间,如果是I/O密集型应用,对某些查询带来的好处会比成本多很多。 可以在create table语句中指定pack_keys参数来控制索引压缩的方式。
源码之路
2020/09/04
1.2K0
索引最左前缀原则
今天在观察慢sql统计的时候,发现了一个sql的平均耗时长,而且总的扫描行数大,分析对应表的DDL,发现此表中只有一个唯一索引index1(a,b,c),但是在查询条件中没有带上a字段,导致这个查询sql没有走索引,从而导致了全表扫描。这里涉及到一个索引最左前缀原则,我们来一起看一下。
翎野君
2023/05/12
2940
前缀索引,中看也中用!
最近几篇文章,都是在和大家聊索引的问题,今天我们来看看前缀索引。 1.什么是前缀索引 所谓前缀索引说白了就是对文本的前几个字符建立索引(具体是几个字符在建立索引时指定),这样建立起来的索引更小,所以查询更快。这有点类似于 Oracle 中对字段使用 Left 函数来建立函数索引,只不过 MySQL 的这个前缀索引在查询时是内部自动完成匹配的,并不需要使用 Left 函数。 那么为什么不对整个字段建立索引呢?一般来说使用前缀索引,可能都是因为整个字段的数据量太大,没有必要针对整个字段建立索引,前缀索引仅仅是选
江南一点雨
2022/03/04
4940
mysql如何使用前缀索引_MySQL的前缀索引你是如何使用的[通俗易懂]
前缀索引也叫局部索引,比如给身份证的前 10 位添加索引,类似这种给某列部分信息添加索引的方式叫做前缀索引。
全栈程序员站长
2022/08/30
2.5K0
mysql如何使用前缀索引_MySQL的前缀索引你是如何使用的[通俗易懂]
mysql前缀索引的索引选择性
一. 基础概念 在mysql中建立前缀索引的意义在于相对于整列建立索引,前缀索引仅仅是选择该列的部分字符作为索引,减少索引的字符可以节约索引空间,从而提高索引效率,但这样也会降低索引的选择性 关于索引的选择性,它是指不重复的索引值(也称为基数cardinality)和数据表的记录总数的比值,范围从1/(数据表记录总数)到1之间。索引的选择性越高则查询效率越高,因为选择性高的索引可以让MySQL在查找时过滤掉更多的行。选择性为1的索引叫唯一索引,这是最好的索引选择性,性能也是最好的 建立合理前缀索引的诀窍在于要选择足够长的前缀以保证较高的选择性,同时又不能太长(以便节约空间)。前缀应该足够长,以使得前缀索引的选择性接近于索引的整个列。换句话说,前缀的基数应该接近于完整列的基数
全栈程序员站长
2022/08/31
6970
mysql前缀索引的索引选择性
MySQL索引中的前缀索引和多列索引
正确地创建和使用索引是实现高性能查询的基础,本文笔者介绍MySQL中的前缀索引和多列索引。
玖柒的小窝
2021/11/06
4.4K0
[PHP] laravel中的api路由前缀
所有的 Laravel 路由都在 routes 目录中定义,这些文件都由框架自动加载。routes/web.php 文件用于定义 web 界面的路由。这里面的路由会被分配给 web 中间件组,它提供了会话状态和 CSRF 保护等功能。 定义在 routes/api.php 中的路由都是无状态的,并且被分配了 api 中间件组。
唯一Chat
2021/06/22
3.2K0
[PHP] laravel中的api路由前缀
高性能mysql之前缀索引
有时候需要索引很长的字符列,这会让索引变得大且慢。通常可以索引开始的部分字符,这样可以大大节约索引空间,从而提高索引效率。但这样也会降低索引的选择性。索引的选择性是指不重复的索引值(也称为基数,cardinality)和数据表的记录总数的比值,范围从1/#T到1之间。索引的选择性越高则查询效率越高,因为选择性高的索引可以让MySQL在查找时过滤掉更多的行。唯一索引的选择性是1,这是最好的索引选择性,性能也是最好的。
johnhuster的分享
2022/03/28
6550
第23期:索引设计(组合索引不适用场景改造)
上篇文章已经详细介绍 MySQL 组合索引的概念以及其适用场景,这篇主要介绍 MySQL 组合索引的不适用场景以及改造方案。
爱可生开源社区
2021/03/16
2600
第23期:索引设计(组合索引不适用场景改造)
索引优化 最左前缀匹配原则
索引是有序的,index1索引在索引文件中的排列是有序的,首先根据a来排序,然后才是根据b来排序,最后是根据c来排序,像select * from tab 这种类型的sql语句,在a、b走完索引后,c肯定是无序了,所以c就没法走索引,数据库会觉得还不如全表扫描c字段来的快。
用户7737280
2020/09/09
1.5K0
索引优化  最左前缀匹配原则

相似问题

ASP.NET MVC路由不适用于前缀"api“

25

Cakephp前缀路由不适用于Linux,而在Windows上工作

10

为什么键前缀优化不适用于群集列上的辅助索引?

10

前缀"\\?\“不适用于处理长路径

02

前缀变量赋值不适用于echo

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文