一点点mysql优化方案

timg.

MYSQL:事务隔离级别默认为 repeatable Read(可重复读)。

 

优化途径:1:存储数据前选择合适的表结构,字段结构;

                 2:随着业务的发展,垂直分割表,拆分表;

                 3:使用过程选择合适的查询语法,修改语法;

 

解决方案:

        1:mysql创建表时候会选择存储引擎,可供选择的大概有七个引擎,常用的就两种:InnoDB和MyISAM 。MyISAM支持全文检索,如果你的数据是只存储只查询的话,例如日志内容,推荐使用该存储引擎,如果你有修改操作,不要使用该存储引擎,因为行级操作也会导致表锁,只要有修改就会串行化执行,这种效率是极低的。

InnoDB是一个非常复杂的存储引擎(具体怎么复杂我也不清楚),对于一些小的应用,它会比 MyISAM 还慢。他是它支持“行锁” ,于是在写操作比较多的时候,会更优秀。并且,他还支持更多的高级应用,比如:事务,并且mysql的事务隔离机制 repeattable Read是会导致幻读现象的,InnoDB通过版本并发控制解决了这个问题。 

我自己大部门项目我默认都会使用InnoDB,对于大量读操作的场景,如果需要全文检索推荐使用es,如果日志数据推荐使用mongoDB。

        2:避免使用 SELECT * 。

        3:如果操作数据时候根据主键id来的 末尾可加上 LIMIT 1。

        4:创建合适的索引,索引是提高查询销量最简单粗暴的方法。

        5:表关联后的ON后面的条件 两个字段使用相同类型的字段,创建索引,表关联操作尽量不要超过三个表,如果业务复杂最好通过代码去拆分处理。

        6:字段对应存储的值是相对固定的字符串值,比如存储性别,城市,状态,能用int用int,想要表达含义的话可以用enum,而不要用varchar。

        7:悲观锁 for Update 语法 一定要用到索引,不然执行过程中就会造成表锁

        8:如果业务越来越复杂,可以对一个复杂的对象进行拆分,常用字段,主要字段放在一张主表内,不常用字段放在副表内。总之表越小越快。

        9:如果用户量上来,数据量扩增起来后,可以尝试对表拆分为读写分离方案,分库分表方案。

 

 

转载于:https://my.oschina.net/jsonyang/blog/3016015

<think>嗯,用户想了解如何在简历中描述React相关的技能和项目经验。首先,我需要回忆一下之前学过的关于简历撰写的知识,特别是技术类简历的部分。根据用户提供的引用,比如引用[1]提到要优化技能描述和项目亮点,引用[3]强调技术技能清单和项目案例的重要性。 首先,技能部分应该具体且量化,比如React的版本、相关工具库的使用经验。用户需要避免笼统的表述,而是用具体的技术名词和熟练程度来展示。例如,列出Hooks、Redux、Next.js等,并说明使用场景,这样招聘方可以快速匹配技术要求。 然后是项目经验部分,用户需要突出React在项目中的具体应用,以及解决的问题。这里可以采用STAR法则,描述情境、任务、行动和结果。比如优化性能时用了React.memo,结果提升了加载速度。同时,数据量化是关键,比如性能提升百分比,用户增长数据等,这样更具说服力。 另外,用户可能还会关心如何将React与其他技术栈结合,比如后端框架或测试工具。这时候需要展示全栈能力,说明在项目中如何整合前端与后端,使用REST API或GraphQL,以及单元测试的实施情况。 还要注意避免常见错误,比如过于笼统的技术列表,或者项目描述缺乏细节。用户可能不清楚如何具体展开,所以提供示例会有帮助。例如,对比优化前后的写法,让用户明白如何突出技术细节和成果。 最后,根据引用[2],简历需要包含关键词和技能列表,确保通过HR的筛选。因此,在技能部分要明确列出React及相关技术,项目中使用到的工具和方法,这样无论是HR还是技术面试官都能快速捕捉到关键信息。 总结下来,回答的结构应该是先分技能和项目两部分,每部分给出具体建议和示例,同时提醒注意事项和常见错误,帮助用户有效优化简历中的React相关内容。</think>### 如何在简历中撰写React技能与项目经验 #### 一、React技能描述建议 1. **结构化分类** - **核心能力**:明确列出React版本(如React 18)及关键特性(Hooks、Context API、虚拟DOM) 示例:`熟练掌握React 18核心特性,包括函数组件与Hooks(useState, useEffect, Custom Hooks),能高效管理组件状态` - **生态工具**:关联Redux、React Router、Next.js等常用库 示例:`熟悉React生态工具链,包括Redux Toolkit状态管理、React Router v6实现动态路由、Next.js服务端渲染方案` - **工程化能力**:结合Webpack/Vite构建工具、Jest/React Testing Library测试框架[^1] 2. **量化与场景化** 避免泛泛而谈,如将“熟悉React”改为: `通过React Hooks重构类组件,代码量减少40%,维护成本降低30%`[^3] #### 二、React项目经验优化 1. **STAR法则应用** - **情境(Situation)**:`电商平台前端性能瓶颈导致用户流失率25%` - **任务(Task)**:`主导前端架构升级,要求首屏加载时间从5s优化至2s内` - **行动(Action)**: ```markdown - 使用React.lazy + Suspense实现路由级代码分割 - 通过React.memo优化组件重渲染频率 - 集成Webpack Bundle Analyzer进行依赖树分析 ``` - **结果(Result)**:`首屏加载时间降至1.8s,用户留存率提升18%`[^1] 2. **技术亮点提取** 突出React特有优势: `采用React+TypeScript构建可视化仪表盘,通过Context API实现跨层级组件通信,配合D3.js完成实时数据渲染` #### 三、典型错误与修正对比 | 错误案例 | 优化后 | |---------|--------| | "使用React开发后台系统" | "基于React 18+Ant Design构建SaaS后台,实现RBAC权限管理系统,通过自定义Hooks封装API请求层,接口复用率提升60%" | | "熟悉React技术栈" | "5个React项目中应用React Query管理服务端状态,错误处理效率提升40%" | #### 四、技术组合建议 将React与以下技术关联可增强竞争力: $$ \text{React技术组合} = \text{TypeScript} + \text{Node.js/Express} + \text{Jest/Cypress} + \text{Docker} $$ 示例:`全栈项目采用React+Node.js+MySQL技术栈,通过RESTful API实现前后端分离部署`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值