大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
php entity中的字段创建索引的方法如下:
公司主营业务:网站设计、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出二道江免费做网站回馈大家。
如下的php程序中,给name加index的方法是直接在table注解中增加index子项。
?php
/**
* @Entity
* @Table(name="ecommerce_products",indexes={@Index(name="search_idx", columns={"name", "email"})})
*/
以上代码中@Entity是定义实体的注解,@Table是定义表的属性,其中的index是增加索引的。
class ECommerceProduct
{
}
这种方法使用的前提是在php代码中创建了模式,也就是说表结构已经存在的情况下使用的。
1:较频繁作为查询、排序、分组和联合操作的字段创建索引。
2:唯一性太差的字段不宜使用索引。
3:使用唯一索引。
4:使用短索引(若对字符串索引,尽量指定一个前缀长度)。
5:利用左前缀(复合索引可以起几个索引的作用,可利用索引最左边的列集来匹配行,称左前缀)
6:不要过度索引(每个索引会占用额外的磁盘空间,并降低写操作的能力,修改数据索引也跟着更新)
7:更新非常频繁的字段不宜创建索引。
8:不会出现在where字句中的字段无需索引。
建立索引本来最基本的原则是看数据表的结果,除了主键、外键以外,应该对经常作为查询条件的字段建立索引。
获取经常作为查询条件的字段有两个方法,一是通读程序,关注程序里面的where和order by、group by后面的字段,对于需要的进行建立索引。
但是,有时侯阅读程序有困难,那可以利用数据库的日志,例如MYSQL数据库可以建立slow-query日志,把执行慢的SQL语句写入日志里面,分析日志可以找到应该建立索引的字段。
索引合理之后,如果程序还是比较慢,那要看代码是否有问题,比如在循环里面进行反复查询的,特别是非必须的递归调用等。