Size: a a a

Spring Framework and more

2019 March 24

PB

Pavel Bukhmatov in Spring Framework and more
Максим
если я сделаю так where Index= 'index' and Key = 'key' ?
будет ли это работать быстрее чем просто where Key = 'key' ?
Не очень понимаю, что такое , 'index' = index. Если по телефону есть индекс - бд достаточно умная чтобы сама его использовать, ничего больше писать не надо
источник

PB

Pavel Bukhmatov in Spring Framework and more
Для надёжности, можно посмотреть план запроса
источник

PB

Pavel Bukhmatov in Spring Framework and more
Наличие записей full scan - признак того, что поиск идёт не индексу, а перебором, что есть медленнее
источник

М

Максим in Spring Framework and more
Я так понял что индекс может повторяться , поэтому надо определить по ключу
источник

PB

Pavel Bukhmatov in Spring Framework and more
Повторение значений тоже значения не имеет. И B-tree и LSM стоят структуры, допускающие повторение. Это 2 самых популярных алгоритма для построения индексов. Скорее всего индексы в твоей бд строятся на одном из этих алгоритмов
источник

PB

Pavel Bukhmatov in Spring Framework and more
Это по сути - усложнение реализации дерева поиска. А дерево поиска ищет даже по range значения за log(n). Ну а поиск по повторяющимся значением - это по сути взятие некого поддерева, так что все там быстро работает.

Но опять-таки, лучше погуглить, как в бд посмотреть план запроса и проверить ещё раз
источник
2019 March 25

ЕБ

Евгений Боровов in Spring Framework and more
Pavel Bukhmatov
Наличие записей full scan - признак того, что поиск идёт не индексу, а перебором, что есть медленнее
А вот нефига. Я как-то себе все волосы на жопе выдрал пытаясь понять почему фуллскан в плане. В итоге оказалось, что у Оракла есть особенность, что после некоторого размера выборки индексы он не использует, а просто фулскан.
источник

MC

Maksim Chesnokov in Spring Framework and more
<template>
   <div id="app" class="col-md-4">
       <label>Введите ссылку на документ, либо несколько ссылок через пробел</label><br/><br>
       <input type="text" v-model="data.uploadDto.link" class="form-control"/><br><br>
       <label>Введите идентификатор пользователя</label><br/><br>
       <input type="text" v-model="data.uploadDto.login" class="form-control"/><br><br>
       <button @click="load" class="btn-success">
           Отправить
       </button>
   </div>
</template>

<script>
   import axios from "axios";

   export default {
       name: 'upload',
       methods: {
           load: function () {
               let url = this.$root.host+'uploadFromLinks';
               let vm = this;
               console.log('uploadDto', vm.data.uploadDto);
               axios
                   .post(url, vm.data.uploadDto)
                   .then(response => {
                       console.log('resp', response);
                   })
                   .catch(error => {
                       console.log('error', error);
                   })
                   .finally(() => {
                       console.log('finally req')
                   });
           }
       },
       data() {
           return {
               data: {
                   uploadDto: {
                       link:'',
                       login:''
                   }
               }
           }
       }
   }
</script>
источник

MC

Maksim Chesnokov in Spring Framework and more
@ApiOperation(value = "For upload images for recognition")
   @PostMapping(value = "uploadFromLinks")
   public ResponseEntity<?> getImagesFromLinks(UploadDto uploadDto) {
       String links = uploadDto.getLink();
источник

MC

Maksim Chesnokov in Spring Framework and more
в контроллер приходит с null
источник

MC

Maksim Chesnokov in Spring Framework and more
в vue логируется с данными
источник

MC

Maksim Chesnokov in Spring Framework and more
подскажите где проблема
источник

М

Максим in Spring Framework and more
В коде
источник

М

Максим in Spring Framework and more
А где ты в модель передаешь ?
источник

L

Loljeene in Spring Framework and more
Евгений Боровов
А вот нефига. Я как-то себе все волосы на жопе выдрал пытаясь понять почему фуллскан в плане. В итоге оказалось, что у Оракла есть особенность, что после некоторого размера выборки индексы он не использует, а просто фулскан.
Не совсем так. В explain четко написано какой мод для оптимизатора выбран. Если выбран choose то он на основании собранной статистики выбирает фулсканить таблицу или взять по индексу. То есть в целом все довольно детерминировано. И даже если он выбрал фулскан всегда можно поправить хинтом. А запросы такие легко ловятся в Enterprise manager
источник

MC

Maksim Chesnokov in Spring Framework and more
Максим
А где ты в модель передаешь ?
<input type="text" v-model="data.uploadDto.link" class="form-control"/><br><br>
       <label>Введите идентификатор пользователя</label><br/><br>
       <input type="text" v-model="data.uploadDto.login" class="form-control"/><br><br>
источник

MC

Maksim Chesnokov in Spring Framework and more
@RequestBody забыл, вопрос снят
источник

ЕБ

Евгений Боровов in Spring Framework and more
Loljeene
Не совсем так. В explain четко написано какой мод для оптимизатора выбран. Если выбран choose то он на основании собранной статистики выбирает фулсканить таблицу или взять по индексу. То есть в целом все довольно детерминировано. И даже если он выбрал фулскан всегда можно поправить хинтом. А запросы такие легко ловятся в Enterprise manager
Но в контексте вопроса, что фулскан всегда плохо, выходит что нет :)
источник

L

Loljeene in Spring Framework and more
Евгений Боровов
Но в контексте вопроса, что фулскан всегда плохо, выходит что нет :)
а еще часто бывает что статистика устарела )
источник

L

Loljeene in Spring Framework and more
собираешь статистику и оракл сразу меняет план )
источник