mysql分表疑虑
假如现在有张user表,数据量较大,到了需要分表的地步了。
根据用户ID去分表处理,对10取余存放。
但是现在有个疑虑,用户登录时,总不能10张表都去查询吧。
各位有什么好的建议或思想,讨论讨论吧,互相学习,互相进步!!!
sorry没描述清楚。
user表,id,name,password三个字段
现在按id已经进行分表了,但是登陆时需要验证name和password,这个时候怎么去处理,不应该每张表都要查一遍吧
回复内容:
假如现在有张user表,数据量较大,到了需要分表的地步了。
根据用户ID去分表处理,对10取余存放。
但是现在有个疑虑,用户登录时,总不能10张表都去查询吧。
各位有什么好的建议或思想,讨论讨论吧,互相学习,互相进步!!!
sorry没描述清楚。
user表,id,name,password三个字段
现在按id已经进行分表了,但是登陆时需要验证name和password,这个时候怎么去处理,不应该每张表都要查一遍吧
看看我的博客吧
http://edagarli.logdown.com/posts/345292
没必要直接操作DB,User有关数据放在缓存即可,查询缓存。
可以根据用户名进行hash啊
MySQL5.5以后可以选择分区,按月份分区即可。
选择分表的话,userid按10取余分10个表单表还是有点大。userid按10取余如果为1,那就去user_1中取即可,依次类推。
10个表不够的话可以选择分区,或者hash出N个表,N由自己的算法确定。
个人认为按照ID取余的划分的话,不利于后续的数据库的扩展,若10个不够的时候,需要拓展到15个客户端是要修改的,可以考虑使用hash的方式比较靠谱
追加:要不然可以在数据库前加上redis .redis 记录name和ID的对应关系,应该可以一定程度避免全局查找的情况
用户表最好垂直划分,可以用memcache或者redis来缓存用户表,水平切分意义不大
用缓存吧,因为用户登录时,你根本不知道用户ID
不明白你为什么会对User表来分表。如果单纯是举个例子可能会误导人。
我试过的分表一般就是按时间来分的。
如果非要用User分表,我的建议是取用户名的拼音首字母,每个字母一个分表。如果嫌太多了就abc放一个表,def放一个表,查询时候先取首字母,然后确定对应的分表。
如果用户名是英文就简单得多了。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.
