Я сказал бы, что это зависит от браузера. Ничто не бьет эксперимент, в этом случае простой JavaScript, вероятно, сделал бы.
Обновление: я означал делать что-то вроде этого:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CSS Speed Test</title>
<style type="text/css">
.first { color: red; }
</style>
<script type="text/javascript">
window.onload = function()
{
var container = document.getElementById("container");
var totalTime = 0;
var passes = 100;
for (var p=1; p<=passes; p++)
{
var startTime = new Date();
for (var i=0; i<1000; i++)
{
var outerDiv = document.createElement("div");
var innerDiv = document.createElement("div");
var span = document.createElement("span");
outerDiv.className = "first";
innerDiv.className = "second";
span.appendChild(document.createTextNode("Hello, world!"));
outerDiv.appendChild(innerDiv);
innerDiv.appendChild(span);
container.appendChild(outerDiv);
}
var endTime = new Date();
totalTime += (endTime - startTime);
}
alert("Average time: " + totalTime/passes);
}
</script>
</head>
<body>
<div id="container"></div>
</body>
</html>
†¦, но разница во времени, вызванная различными селекторами, кажется, являются слишком маленькими для измерения, как сказал annakata.
Вы ищете буквальную строку a.company
, а не столбец. Попробуйте следующее:
SELECT a.id, a.company, a.name, b.title, b.description, b.t_id
FROM a, b
WHERE
(
b.title REGEXP concat('[[:<:]]', a.company, '[[:>:]]')
OR b.description REGEXP concat('[[:<:]]', a.company, '[[:>:]]')
OR b.title REGEXP concat('[[:<:]]', a.name, '[[:>:]]')
OR b.description REGEXP concat('[[:<:]]', a.name, '[[:>:]]')
)
AND a.company != '' AND a.name != ''
Это предоставляет регулярное выражение
со значением столбца, а не строку 'a.company'
. Поскольку я предполагаю, что вы хотите сравнить значение столбца (а не имя столбца), вам нужно будет объединить ваше регулярное выражение
вместе.
Вы можете проверить это с помощью этого запроса:
select
'My col: a.company' as Test1,
'My col: ' + a.company as Test2
from
a
Здесь , Test1
всегда будет значением My col: a.company
, а Test2 будет My col: <значение столбца компании здесь>
.