现在有字段A。取值是单个的,比如取值是3
有一个字段,取值是多个的。比如字段B,取值可能是1、2、3、4
现在要查出所有含有字段A的值的记录。比如:
记录1:3、5、7(符合)
记录2:6、8、9(不符合)
请问如何设计数据库比较合理?充分考虑到性能优化。
回复讨论(解决方案)
我好像想到方法了。
在数据库里面是这样保存B字段的数据的
|2|4|6|3|
如果我要查询是否含有3.就 like %|3|%。这样可行吗?
可以啊,或者用逗号隔开也行。
如果值域不超过64,那么可直接使用 set 类型
如果不想用 set 类型,值域也肯能远超过 64
那么可以用 varchar 或 text 类型
数据由以逗号分隔的串组成,比如 2,4,6,3
mysql 提供了 find_in_set 函数,用来完成查找工作
如果值域不超过64,那么可直接使用 set 类型
如果不想用 set 类型,值域也肯能远超过 64
那么可以用 varchar 或 text 类型
数据由以逗号分隔的串组成,比如 2,4,6,3
mysql 提供了 find_in_set 函数,用来完成查找工作
能说说最优方案吗?
值域很少。20个以下。值是固定的数组里面选出的。
现在比较在乎性能。假加上万条几十万,要找到匹配的数据,太慢了不行呀。
如果值域不超过64,那么可直接使用 set 类型
如果不想用 set 类型,值域也肯能远超过 64
那么可以用 varchar 或 text 类型
数据由以逗号分隔的串组成,比如 2,4,6,3
mysql 提供了 find_in_set 函数,用来完成查找工作
受教了。第一次懂得mysql字段还有set类型的。mysql还有find_in_set函数
两种方法都可以解决问题。有空我亲自测试一下哪个方法速度最快!
like 和 find_in_set 还有 in
都是在求“是否在其中”,性能肯定不会高到哪里去
把数据打包在一起,本身就是以时间换空间的做法
要想达到高速的目的,当然就不能打包在一起,而是独立存放并加上索引,当然还要加上宿主的id
这就是所谓的以空间换时间

To protect the application from session-related XSS attacks, the following measures are required: 1. Set the HttpOnly and Secure flags to protect the session cookies. 2. Export codes for all user inputs. 3. Implement content security policy (CSP) to limit script sources. Through these policies, session-related XSS attacks can be effectively protected and user data can be ensured.

Methods to optimize PHP session performance include: 1. Delay session start, 2. Use database to store sessions, 3. Compress session data, 4. Manage session life cycle, and 5. Implement session sharing. These strategies can significantly improve the efficiency of applications in high concurrency environments.

Thesession.gc_maxlifetimesettinginPHPdeterminesthelifespanofsessiondata,setinseconds.1)It'sconfiguredinphp.iniorviaini_set().2)Abalanceisneededtoavoidperformanceissuesandunexpectedlogouts.3)PHP'sgarbagecollectionisprobabilistic,influencedbygc_probabi

In PHP, you can use the session_name() function to configure the session name. The specific steps are as follows: 1. Use the session_name() function to set the session name, such as session_name("my_session"). 2. After setting the session name, call session_start() to start the session. Configuring session names can avoid session data conflicts between multiple applications and enhance security, but pay attention to the uniqueness, security, length and setting timing of session names.

The session ID should be regenerated regularly at login, before sensitive operations, and every 30 minutes. 1. Regenerate the session ID when logging in to prevent session fixed attacks. 2. Regenerate before sensitive operations to improve safety. 3. Regular regeneration reduces long-term utilization risks, but the user experience needs to be weighed.

Setting session cookie parameters in PHP can be achieved through the session_set_cookie_params() function. 1) Use this function to set parameters, such as expiration time, path, domain name, security flag, etc.; 2) Call session_start() to make the parameters take effect; 3) Dynamically adjust parameters according to needs, such as user login status; 4) Pay attention to setting secure and httponly flags to improve security.

The main purpose of using sessions in PHP is to maintain the status of the user between different pages. 1) The session is started through the session_start() function, creating a unique session ID and storing it in the user cookie. 2) Session data is saved on the server, allowing data to be passed between different requests, such as login status and shopping cart content.

How to share a session between subdomains? Implemented by setting session cookies for common domain names. 1. Set the domain of the session cookie to .example.com on the server side. 2. Choose the appropriate session storage method, such as memory, database or distributed cache. 3. Pass the session ID through cookies, and the server retrieves and updates the session data based on the ID.


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

Atom editor mac version download
The most popular open source editor

Dreamweaver Mac version
Visual web development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function